Фабрика триггеров AngularJS при событии $ resource

#javascript #angularjs #mean-stack

#javascript #angularjs #значение-stack

Вопрос:

Я пытаюсь создать систему ведения журнала для событий на ряде различных $resource . У меня есть фабрика, которую я создал, которая делает именно то, что я хотел бы, однако я не хочу загрязнять свои контроллеры ненужным кодом, я бы хотел, чтобы фабрика регистратора запускалась при каждом запуске ресурса (имея возможность настраивать данные, отправляемые на фабрику).

Кажется, я не могу найти способ сделать это с помощью различных методов на $resource .

Есть идеи или предложения по решению проблемы такого типа? Я слишком усложняю это?

Комментарии:

1. можно было бы использовать $httpProvider.interceptors

Ответ №1:

Думаю, что перехватчики были бы правильным решением. Вот пример, который мы используем для добавления токена ко всем выполняемым запросам:

 .factory 'TokenInterceptor', ($q, $window, AuthenticationService) ->
return {
    request:  (config) ->
        config.headers = config.headers || {}
        if $window.sessionStorage.username 
            config.headers.Authorization = $window.sessionStorage.token
        config 
    response:  (response) ->
        response || $q.when(response)
}

.config ($httpProvider) ->
    $httpProvider.interceptors.push('TokenInterceptor')
  

Как вы можете видеть, мы добавляем фабрику к перехватчикам, что, я думаю, в основном и есть то, что вы хотите сделать.