gpt4 book ai didi

javascript - 访问 RxJs Observable 方法调用返回的数据

转载 作者:行者123 更新时间:2023-12-01 00:32:37 25 4
gpt4 key购买 nike

(新)如何修改 service 中的 updateUserProfile() Observable 方法,以便可以访问返回的数据?我想在我的服务中设置我的用户的值,而不是在我的组件中。是否有我可以使用的附加回调函数或运算符?

这是我的用户对象:

  user: User = {
user: {
first_name: '',
last_name: '',
id_number: '',
email: '',
password: '',
phone: '',
notes: '',
ricaAddress: {
street_number: '',
street_name: '',
building_name: '',
floor_level: '',
unit_number: '',
suburb: '',
city: '',
province: '',
postal_code: '',
country: ''
}
}
};

这是我的组件中的updateProfile()调用:

  updateProfile() {
this.userService
.updateUserProfile(this.user)
.subscribe(
response => {},
err => this.handleError(err),
() => console.log('complete')
);
}

这是我想要修改的服务中的 updateUserProfile() 方法:

  updateUserProfile(user): Observable<any> {
const httpOptions2 = {
headers: new HttpHeaders({
'Content-Type': 'application/json',
apiKey: 'xEr4slh6wdngI-imBb9t8sm4JLY-e1yQz7Tmo7S2A',
key: '6f4962c7-0706-4cf7-b7ce-0b7dc75fcc57',
Authorization: this.userToken
})
};

return this.http
.put(this.apiUrl + 'users' + 'user_id', user, httpOptions2)
.pipe(catchError(this.handleError));
}

谢谢!

最佳答案

您可以添加 map 管道以返回新的、更新的对象。为您服务:

return this.http
.put(this.apiUrl + 'users' + 'user_id', user, httpOptions2)
.pipe(
map(response => {
// return a new object from here
}),
catchError(this.handleError)
);

您的组件中可以直接访问map回调的返回值。

关于javascript - 访问 RxJs Observable 方法调用返回的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58388810/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com