Вот результат:

ужно делать вызовы 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)?

Спасибо

Ответы на вопрос(2)

Ваш ответ на вопрос