在Angular1.x中,有时我需要发出多个http请求并对所有响应进行处理。我将所有的承诺都放在一个数组中并调用Promise.all(promises).then(function(results) {...})。
http
Promise.all(promises).then(function(results) {...})
Angular 2最佳实践似乎指向使用RxJS Observable代替http请求中的Promise。如果我从http请求创建了两个或多个不同的Observable,那么是否有等效于的Promise.all()?
Observable
Promise.all()
模拟的更直接替代方法Promise.all是使用forkJoin运算符(它并行启动所有可观察对象并加入其最后一个元素):
Promise.all
forkJoin
有点超出范围,但如果有帮助,就链接承诺而言,可以使用简单的flatMapCf。RxJS PromiseComposition(传递数据)
flatMap