Я хочу отправить запрос API, а затем опрашивать другую конечную точку, пока из второй конечной точки не вернется ответ с телом success: true
.Я использую HTTPClient Angular для выполнения своих запросов.Моя первоначальная мысль заключалась в том, чтобы сделать это:
createConversion(request): Observable<any> {
return this.http.post('/endpoint', request).pipe(
// This is the problem: I want to start polling before this post() call emits
mergeMap((response) => {
// Start polling
return timer(0, 5000).pipe(
takeUntil(this.converted$),
concatMap(() => {
return this.http.get('/second-endpoint')
})
)
})
);
Однако mergeMap не вызывается до тех пор, пока первый вызов post()
не отправится с ответом первого запроса.Есть ли оператор RxJS, который позволит мне начать опрос до того, как первый post()
вызов вызовет?