У меня есть вызов HTTP POST на Angular, который занимает около 15-20 секунд.В моем бэкэнде я предоставляю вычисленное значение для индикатора выполнения пост-вызова во внешнем интерфейсе.
Теперь я хочу делать вызовы HTTP GET каждые 250 мс после инициации POST-вызова, пока не завершится пост-вызов.
Я посмотрел на операторов Rxjs, но не смог найти решение, как правильно их объединить / передать (например, таймер или интервал)
Это мой текущий код:
// this is the Observable which does the post call when subscribing
const x = this.apiService.importBackUp(this.backupList);
x.subscribe(); // here I want to subscribe to my GET call every 250ms until completion
apiService.ts:
importBackUp(backup: BackupList[]): Observable<any> {
return this.httpClient.post(this.API_URL + '/Settings/import', backup)
.pipe(
catchError(this.handleError('Import Backup', null))
);
}
getProgress(): Observable<number> {
return this.httpClient.get<number>(this.API_URL + '/Settings/progress')
.pipe(
catchError(this.handleError('Get Import Progress', null))
);
}