javascript - 链接两个 observable http 和存储

标签 javascript angular ionic2 observable chaining

我正在尝试链接两个可观察量。我正在使用 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/

相关文章:

javascript - 使用 Phonegap 直接从 java 调用 javascript

angular - 为什么更改模型后 ngFor 中的模型没有更新?

javascript - 测试 ionic-cordova- 在浏览器中不起作用

javascript - 如何使虚拟滚动与 ionic 2 中的 ngFor 指令一起工作

ios - ionic 构建 ios 成功,但 ionic 构建 ios --release 失败

用于 keyup 的 Javascript addEventListener 未注册任何键值

javascript - 克隆最后一列并将其添加到同一个表中 - jQuery

javascript - 防止 Angular 2 路由器将文字误认为参数

json - 按特定值过滤 JSON ionic 2

javascript - 如何在 Nightmare.js 中处理 JSON 响应