0
我有一个Angular 2应用程序,它从服务器获取不同数量的id,然后为每个id在forkJoin
中创建另一个REST调用。Angular 2限制并行http调用
但是,ids的数量可能会上升到几百个,这可能会在突然进行几百个REST调用时出现问题。
当使用RxJs和forkJoin
运算符时,是否有限制并行调用数的方法?
我有一个Angular 2应用程序,它从服务器获取不同数量的id,然后为每个id在forkJoin
中创建另一个REST调用。Angular 2限制并行http调用
但是,ids的数量可能会上升到几百个,这可能会在突然进行几百个REST调用时出现问题。
当使用RxJs和forkJoin
运算符时,是否有限制并行调用数的方法?
ONW方式是使用bufferCount
:
Rx.Observable.from([1,2,3,4,5,6,7,8])
.bufferCount(3)
.concatMap(items => {
console.log('ConcatMap', items);
let tasks = items.map(item => Rx.Observable.timer(Math.random() * 1000).do(() => console.log(item, 'ready')));
return Rx.Observable.forkJoin(...tasks);
})
.subscribe()
<script src="https://npmcdn.com/@reactivex/[email protected]/dist/global/Rx.js"></script>
辉煌:)!!! – Maxime
[在与RxJS时间的请求数限制(可能的重复https://stackoverflow.com/questions/34535685/limit-number-of-request-at-a-time-with-rxjs) – developer033