最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - AngularJS HTTP interceptor - Stack Overflow

programmeradmin3浏览0评论

Using an interceptor in AngularJS how can console.log("finished AJAX request") when any request has pleted?

I have been looking at interceptors and so far have the following but it fires on the start of the request not the end.

app.factory('myInterceptor', [function() {
    console.log("finished AJAX request") 

    var myInterceptor = {

    };

    return myInterceptor;
}]);

config:

app.config(function ($stateProvider, $urlRouterProvider, $httpProvider) {

$httpProvider.interceptors.push('myInterceptor'); 

etc

Using an interceptor in AngularJS how can console.log("finished AJAX request") when any request has pleted?

I have been looking at interceptors and so far have the following but it fires on the start of the request not the end.

app.factory('myInterceptor', [function() {
    console.log("finished AJAX request") 

    var myInterceptor = {

    };

    return myInterceptor;
}]);

config:

app.config(function ($stateProvider, $urlRouterProvider, $httpProvider) {

$httpProvider.interceptors.push('myInterceptor'); 

etc
Share Improve this question asked Aug 13, 2014 at 8:56 PrometheusPrometheus 33.7k57 gold badges174 silver badges311 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 6

You need to put the console in the response function of the httpInterceptor

// register the interceptor as a service
  $provide.factory('myHttpInterceptor', function($q, dependency1, dependency2) {
    return {
      // optional method
      'request': function(config) {
        // do something on success
        return config;
      },

      // optional method
     'requestError': function(rejection) {
        // do something on error
        if (canRecover(rejection)) {
          return responseOrNewPromise
        }
        return $q.reject(rejection);
      },



      // optional method
      'response': function(response) {
        // do something on success
        console.log('I am done');
        return response;
      },

      // optional method
     'responseError': function(rejection) {
        // do something on error
        if (canRecover(rejection)) {
          return responseOrNewPromise
        }
        return $q.reject(rejection);
      }
    };
  });

  $httpProvider.interceptors.push('myHttpInterceptor');

Over here in the response method I have included the console log function call

发布评论

评论列表(0)

  1. 暂无评论