Вот результат:
ужно делать вызовы API для отображения прогресса чего-либо.
Я создал сервис, который делает это каждые 1,5 секунды
Главный компонент
private getProgress() {
this.progressService.getExportProgress(this.type, this.details.RequestID);
}
Services.ts
public getExportProgress(type: string, requestId: string) {
Observable.interval(1500)
.switchMap(() => this.http.get(this.apiEndpoint + "Definition/" + type + "/Progress/" + requestId))
.map((data) => data.json().Data)
.subscribe(
(data) => {
if (!data.InProgress)
//Stop doing this api call
},
error => this.handleError(error));
}
Звонок работает, но он продолжает идти. Я хочу прекратить делать вызов API, когда прогресс завершен (if (!data.InProgress
) но я застрял на этом.
Как я могу правильно отписаться от этой наблюдаемой когдаif (!data.InProgress)
?
Спасибо