【发布时间】:2016-08-11 08:16:56
【问题描述】:
我想知道如何处理一个数组,其中每个值都按照指定的顺序返回一个 Promise。例如,假设我要按此顺序调用多个 Ajax 调用:
var array = [
'http://example.org',
'http://otherexample.org',
'http://anotherexample.org',
];
基本上有同样的问题:How can I use RxJs to hold off any requests for an AJAX call until the previous one resolves,建议使用flatMapFirst。
由于我在使用 rxjs@5.0.0-beta.2 的 TypeScript 中使用 Angular2(此时为 beta-15),我发现 flatMapFirst has been renamed to exhaustMap。
但是Observable.ts 中没有列出这个运算符,所以我不能使用它。它甚至没有出现在 RxJS https://code.angularjs.org/2.0.0-beta.15/Rx.js 的捆绑版本中。
那么,我应该如何使用它?或者还有其他方法可以满足我的需要吗?它的package.json 列出了很多构建脚本,我应该强制它使用其中一个吗?
编辑:我应该提到我正在使用ReactiveX/rxjs 库,而不是Reactive-Extensions/RxJS
【问题讨论】:
-
根据您的问题描述,您实际上可能希望使用
concatMap。听起来您想处理所有请求而不丢弃任何请求。 -
你是对的
concatMap做了我需要的。
标签: typescript angular reactive-programming rxjs