AngularJs的$resource事件触发工厂



我正在尝试为许多不同的$resource上的事件构建日志系统。我有一个工厂,我已经建立了我想要的,但是,我不想用不必要的代码污染我的控制器,我想让记录器工厂触发每次触发资源(能够自定义发送到工厂的数据)。

我似乎无法通过$resource上的各种方法找到一种方法来做到这一点。

对于解决这类问题有什么想法或建议吗?我是不是太复杂了?

认为拦截器是可行的方法。下面是我们用来向所有请求添加令牌的示例:

.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')

如你所见,我们将工厂添加到拦截器中,我认为这基本上是你想要做的。

相关内容

  • 没有找到相关文章

最新更新