Есть ли способ использовать http-перехватчики angular для перехвата ответа и как бы удалить его / выбросить, чтобы будущие обратные вызовы нисходящего потока не выполнялись?
Я хочу, чтобы он вел себя так, чтобы ни один из console.log не запускался.
this.http.get('/foo').subscribe(
data => console.log("success", data),
err => console.log("fail.", err)
);
Я видел примеры, которые изменяют ответ или заменяют ответ нулевым или другим сигнальным значением, но я бы предпочел не делать этого, потому что тогда все мои обработчики успеха / неудачи должны искать дозорного, что снижает полезность использование перехватчика для обработки определенных ответов.
У меня такое чувство, что это скорее вопрос rxjs, чем вопрос перехватчика angular, но я просто еще недостаточно знаком с rx, чтобы быть уверенным.
Если это важно, я использую angular 5.1
HttpRequest
и обрабатывает их. Я не уверен, можно ли использовать HttpInterceptor для перехвата ответа. - person Harry Ninh   schedule 15.02.2018return next.handle(req).switchMap(() => Observable.empty());
? - person Harry Ninh   schedule 15.02.2018get(...).toPromise().then(...)
вместоsubscribe(...)
, и кажется, чтоtoPromise
изменяет поведение и приведет к разрешению обещания с неопределенным аргументом. Есть идеи, как это обойти (например, чтобы он не разрешился)? Может мне стоит задать это как новый вопрос. - person goat   schedule 16.02.2018