我在使用Rxjs库时面临一些困难,尤其是Observables:
我有一个angular 2应用程序,它使用返回Observable
的HTTP库调用API事实是,当我有一个更新用户的功能时:
function updateUser(user: User) {
return this.http.put("http://myAPI/user/update, user)
}
我想在每次updateUser调用时更新用户,而不是在调用端执行此操作,如:
function updateUser(user: User) {
return this.http.put("http://myAPI/user/update", user).addCallback( updatedUser => {
this.user = updatedUser.json()
})
}
要清楚,我想在每次订阅“updateUser()”时放置一个函数。
有什么办法吗?
感谢您的帮助!
答案 0 :(得分:0)
如果我理解正确你想要操纵observable的返回值,那么你总是返回用户。
如果是这种情况,您可以使用Observable.map函数
http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html#instance-method-map
在你的情况下,它可能看起来像这样
function updateUser(user: User) {
return this.http.put("http://myAPI/user/update", user)
.map(response => {
return response.json();
});
}