Ustaw zmienną rootScope na httpIntercept

Chciałbym móc skonfigurować przechwytywacz http AngularJS, który zostanie ustawiony$rootScope.loading dotrue lubfalse, w zależności od tego, czy aktualnie trwa żądanie AJAX.

Do tej pory złożyłem razem następujące informacje:

angular.module('myApp')
.config(function ($httpProvider) {
  $httpProvider.responseInterceptors.push('loadingInterceptor');

  var loadingFunction = function (data, headersGetter) {
      $rootScope.loading = true

      return data;
  };
  $httpProvider.defaults.transformRequest.push(loadingFunction);
})
.factory('loadingInterceptor', function ($q, $window, $rootScope) {
    return function (promise) {
        return promise.then(function (response) {
            $rootScope.loading = false;
            return response;

        }, function (response) {
            $rootScope.loading = false;
            return $q.reject(response);
        });
    };
});

Ale nie mogę wstrzyknąć$rootScope do bloku konfiguracyjnego, więc nie mam możliwości ustawienia$rootScope.loading zmienna, gdy zaczyna się żądanie HTTP.

Czy coś mi umyka? Jak mam to zrobić?

questionAnswers(3)

yourAnswerToTheQuestion