@Pogran

Как отменить запрос получения данных?

у меня в сервисе есть метод загрузки данных

getSpend(months : number[]) {
        return this.http.get("assets/fake/fake-report-spend.json")
            .map((data: Response) => data.json().data)
            .concatMap((array) => Observable.from(array))
            .filter((data: {month: number, spend: number}) => months.indexOf(data.month) != -1)
            .catch((error : any) => Observable.throw(error))
            .delay(2500);
    }


и вот сам вывод

this.reportService.getSpend(this.selectedMonthsKeys)
            .subscribe(
                data => {
                    this.data.push(data.spend);
                },
             )


Смысл в том что вызов метода идет когда пользователь изменяет значение в select2. И получается наложение данных. у меня не до конца первый запрос отрабатывает и на его место сразу же накладываются данные из другого запроса. А хочется чтобы предыдущий запрос отменялся, если он частично уже загрузил данные (this.data.push(data.spend)) , то очищать их
  • Вопрос задан
  • 226 просмотров
Решения вопроса 1
AlexXYZ
@AlexXYZ
O Keep Clear O
Это называется angular cancel request
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы