我正在尝试链接两个可观察量。我正在使用 Ionic2 框架。第一个 observable 尝试从移动设备获取访问 token ,然后第二个 observable 使用该访问 token 调用 api。但由于某种原因,即使我订阅了该链,第二个可观察对象也从未被调用。
我错过了什么?
this.observableChain = Observable.fromPromise(this.storage.get('accessToken'))
.map(accessToken => this.http.post('http://1234/user/login', {'accessToken': accessToken}))
.subscribe(function(result) {
console.log(result);
}, function(error) {
console.log(error);
});
提前致谢。
最佳答案
链接可观察量时,您需要使用 flatMap()
。
Observable.fromPromise(this.storage.get('accessToken'))
.flatMap(accessToken =>
this.http.post('http://1234/user/login', {'accessToken': accessToken})
)
.subscribe(
result => console.log(result),
error => console.log(error)
);
这个概念的一个很好的解释可以在这里找到 - http://reactivex.io/documentation/operators/flatmap.html
关于javascript - 链接两个 observable http 和存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39434805/