在 Angular 1.x 中,我有时需要发出多个 http
请求并对所有响应进行处理。我会将所有承诺放入数组中并调用 Promise.all(promises).then(function (results) {...})
。
Angular 2 最佳实践似乎指向使用 RxJS 的 Observable
来替代 http
请求中的承诺。如果我有两个或更多从 http 请求创建的不同 Observables,是否有等同于 Promise.all()
的东西?
原文由 Corey Ogburn 发布,翻译遵循 CC BY-SA 4.0 许可协议
模拟
Promise.all
的更直接替代方法是使用forkJoin
运算符(它并行启动所有可观察对象并连接它们的最后一个元素):有点超出范围,但如果它有帮助,关于链接承诺的主题,您可以使用简单的
flatMap
:Cf。 RxJS Promise Composition(传递数据)