AngularJS $ intercepteurs de ressources

Comment puis-je ajouter des intercepteurs à un $resource appel?

Disons que j'ai une ressource usine dite Userscomme;

app.factory('Users', ['$resource', 'resourceInterceptor',
  function ($resource, resourceInterceptor) {
    return $resource(
      'users/:user_id',
      {
        user_id: '@id'
      },
      {
        query: {
          method: 'GET', //Not changing the default method, just adding an interceptor
          interceptor: resourceInterceptor //Is there any better way to do this.. like globally?
        },
        save: {
          method: 'POST', //Same here
          interceptor: resourceInterceptor //Again...
        },
        ..., //And so on
      }
    );
  }]);

et mon resourceInterceptor service ressemble;

app.factory('resourceInterceptor', ['$rootScope',
  function ($rootScope) {
    return {
      request: function () {
        //This function isn't executed at all?
        $rootScope.loading = true;
      },
      response: function () {
        $rootScope.loading = false;
      },
      responseError: function () {
        $rootScope.loading = false;
      }
    };
  }]);

Tout d'abord, la request intercepter fonction n'est jamais exécutée, pourquoi pas?

Deuxièmement, avoir à coder en dur l'intercepteur existants $resource méthodes est très fastidieux , il est un moyen plus facile d'attribuer des intercepteurs spécifiques $resource appels, ou peut-être même attribuer un intercepteur à tous $resource appels?

source d'informationauteur Unidan