我正在尝试为各种$resource
的事件构建日志记录系统。我有一个我所建造的工厂,它完全符合我的要求,但是,我不想用不必要的代码污染我的控制器,我想让记录器工厂触发每一个触发资源的时间(能够自定义发送到工厂的数据)。
我似乎无法通过$resource
上的各种方法找到解决方法。
解决此类问题的任何想法或建议?我是不是太复杂了?
答案 0 :(得分:0)
认为拦截器将是最佳选择。以下是我们用于向所有正在发出的请求添加令牌的示例:
.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')
正如您所看到的,我们将工厂添加到拦截器中,这基本上就是您想要做的。