Вызов службы в функции в конфигурации () в AngularJS

У меня есть этот блок config() в приложении AngularJS:

  .config(function(RestangularProvider, apiServerConstants) {
    RestangularProvider.setBaseUrl(apiServerConstants.url + apiServerConstants.apiPath + apiServerConstants.apiVersion);
    RestangularProvider.setFullRequestInterceptor(function(element, operation, route, url, headers, params, httpConfig) {
      // access local storage
      return {
        element: element,
        params: _.extend(params, {single: true}),
        headers: headers,
        httpConfig: httpConfig
      };
    });
  });

Как я могу добавить свой localStorageService (из grevory/angular-local-storage) в функцию, вызываемую RestangularProvider.setFullRequestInterceptor(), Мне нужно настроить функцию перехватчика так, чтобы она вызывала localStorageService.get() чтобы иметь возможность доступа к данным в локальном хранилище, чтобы включить их в каждый повторный запрос, который я делаю.

PS: я знаю, что в config() или run () вы можете вызывать только провайдеры или константы. Мне интересно, может ли код в функции внутри setFullRequestInterceptor (), которая вызывается только во время выполнения, каким-то образом создавать экземпляр или получать localStorageService?

1 ответ

Это невозможно

Вы можете только ввести в .config следующие предметы:

  • КОНСТАНТА
  • ЗНАЧЕНИЕ
  • ПРОВАЙДЕР

Смотрите официальный документ здесь, я цитирую:

Блоки конфигурации - выполняются на этапе регистрации и настройки провайдера. Только провайдеры и константы могут быть введены в блоки конфигурации. Это необходимо для предотвращения случайного создания служб до их полной настройки.

Другие вопросы по тегам