#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')
Как вы можете видеть, мы добавляем фабрику к перехватчикам, что, я думаю, в основном и есть то, что вы хотите сделать.