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

У меня есть 2 службы в AngularJS, которые для двух разных конечных точек API основаны на сервисе $ http (или просто они являются оболочками $ http).

Теперь у меня есть задача создать errorHandling для каждой из служб. Каков наилучший способ сделать это в Angular?

псевдокод:

angular.service('api1', function($http){ ... });
angular.service('api2', function($http){ ... });
1 ответ

2 решения:

  1. Просто создайте службу ErrorHandling и добавьте ее в обе службы

,

angular.service('api1', function($http, ErrorHandlingService){ ... });
 angular.service('api2', function($http, ErrorHandlingService){ ... });
  1. Чтобы использовать перехватчик за $ http и обрабатывать все запросы:

,

$httpProvider.interceptors.push(ErrorHandlingService);

licensed under cc by-sa 3.0 with attribution.