[英]Queuing using RxJS Observables - Angular 5
我正在使用Angular 5開發SPA。
我有一個場景,我需要多次調用Rest API方法,以下是一個示例案例。
我有一個對象列表(例如100個對象),這些對象將作為參數傳遞給API方法。 我需要通過選擇前10個對象(異步API調用)來將對象排隊,如果任何調用響應,我都需要將下一個對象推入隊列,直到處理完所有100個對象為止。
這在技術上可以實現嗎? 如果是,那么任何人都可以建議如何實現。
提前致謝。
您可以使用mergeMap
來執行此操作,該mergeMap
帶有一個可選的第二個參數,該參數告訴您要保留多少個並發預訂(順便說一句, concatMap
只是具有1
並發性的mergeMap
):
from([obj1, obj2, obj3, ..., obj100])
.pipe(
mergeMap(obj => makeHttpCall(obj), 10),
)
.subscribe(...);
這將始終使10個HTTP調用保持活動狀態。 完成后,它將立即選擇另一個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.