在 Angular2 中使用 RxJS 链接 observables

Posted

技术标签:

【中文标题】在 Angular2 中使用 RxJS 链接 observables【英文标题】:Chaining observables with RxJS in Angular2 【发布时间】:2016-08-18 17:31:17 【问题描述】:

我有 2 个 API 调用——第二个调用使用第一个调用返回的东西。有了承诺,这很容易:

myService.findAll()

     // First call
    .then(response => 
        return myService.findSpecific(response.something);
    )

    .then(response => 
        // result from second API call
    );

我将如何使用 observables 做到这一点?

【问题讨论】:

要记住的一件好事是,在 RXJS 中,Promises 可以被视为最多发出单个项目(解析数据)的 Observables。 【参考方案1】:

您可以通过这种方式利用flatMap 运算符:

myService.findAll()
  // First call
  .flatMap(response => 
    return myService.findSpecific(response.something);
  ).subscribe(response => 
    // result from second API call
  );

【讨论】:

谢谢,这个答案对我有帮助! +1

以上是关于在 Angular2 中使用 RxJS 链接 observables的主要内容,如果未能解决你的问题,请参考以下文章

Object.observe 退出和 RxJS 和 Angular 2

Angular项目中的Rxjs websockets

angular2 与 Slim 框架 jwt 身份验证

Angular2 rxjs 缺少 observable.interval 方法

Rxjs 过滤器运算符不适用于 Angular2 Observable

Angular2 beta.12 和 RxJs 5 beta.3 的可观察到的错误