【发布时间】:2019-05-10 14:36:18
【问题描述】:
我有一个端点(initiate$),我点击它,它返回一个queueId,用那个queueId我点击另一个端点,直到那个端点返回就绪状态。我有一些有效的代码,但它连续调用两个端点。我知道为什么它会同时调用两者,但我不知道如何最好地将调用分开,以便在后续调用中仅点击第二个端点 (status$)。
RxJs:“^6.3.3”
downloadTransactionList() {
const initiate$ = this.exampleService.startListExport(userId, filter);
const status$ = this.exampleService.pollListExport(initiate$);
const polling$ = timer(0, 10000).pipe(
mergeMap(() => status$),
takeWhile(resp => resp.status !== 'ready')
);
initiate$.pipe(mergeMap(() => polling$)).subscribe(r => console.log(r));
}
【问题讨论】: