応答インターセプターは、angularjs アプリの構成段階でアタッチされます。それらを使用して、任意の $http リクエストにグローバルに応答できます。テンプレート ファイルも $http リクエストを使用することに注意してください。そのため、インターセプターで一部のリクエストをフィルタリングして、応答したいリクエストのみを表示することができます。
応答インターセプターを正常に使用するには、 promiseパターンを十分に理解する必要があります。
それらの使用方法の例を次に示します。
angular.module('services')
.config(function($httpProvider){
//Here we're adding our interceptor.
$httpProvider.responseInterceptors.push('globalInterceptor');
})
//Here we define our interceptor
.factory('globalInterceptor', function($q){
//When the interceptor runs, it is passed a promise object
return function(promise){
//In an interceptor, we return another promise created by the .then function.
return promise.then(function(response){
//Do your code here if the response was successful
//Always be sure to return a response for your application code to react to as well
return response;
}, function(response){
//Do your error handling code here if the response was unsuccessful
//Be sure to return a reject if you cannot recover from the error somehow.
//This way, the consumer of the $http request will know its an error as well
return $q.reject(response);
});
}
});