我最近注意到我可以在.pipe()
中返回一个值,但是在.subscribe()
中却不能。
这两种方法之间有什么区别?
例如,如果我有这个函数,让我们称之为“存款”,它应该返回账户余额,如果我这样做:
deposit(account, amount){
return this.http.get('url')
.subscribe(res => {
return res;
}
}
它返回一个可观察对象,如果我这样做:
deposit(account, amount){
return this.http.get('url')
.pipe(
map(res => {
return res;
});
);
}
它按预期返回账户余额。
那么为什么呢?
.pipe()
里面移动一个lambda函数到.subscribe()
里面。 - iSpain17