Ric*_*ral 12 angularjs angular-http-interceptors
我按照这篇文章在项目上实现了类似的ajax loader映像:
我的实现有一些不同之处:
$rootScope到emit,而不是broadcast和我也用$rootScope的指令来处理该事件.$rootScope.$on在事件处理程序内第一个被触发的事件(显示或隐藏)之后解除指令侦听器的绑定.我认为这些是与链接帖子的主要区别,不确定它们是否与我的问题相关,但以防它们是......
处理加载程序隐藏事件时,加载程序已经消失,除非刷新页面,否则我不会再显示它,但我仍然有后台http请求刷新当前页面上的数据.这些请求仍然会被截获并触发新的显示/隐藏事件,这些事件不再需要/处理.我只需要第一次秀和第一次隐藏,就是这样.
什么是删除我$httpProvider在第一个隐藏事件被触发后添加到的HTTP拦截器的正确方法?
我知道我们使用a添加了拦截器,$httpProvider.interceptors.push()但是当我不再需要拦截器时,我不知道如何将其弹出.
小智 3
我打算为此悬赏,因为我也有同样的问题。然而...根据源代码(工厂中的第 127 行和第 133 行),interceptors和看起来好像只是数组。对此没有包装。responseInterceptors$httpProvider
据我所知,您要么必须使用pop()或任何其他数组方法。然而,这意味着您不知道自己在弹出什么!持有对对象的引用并没有真正的帮助,因为你不能真正对其执行数组函数,除非你决定基于相等进行迭代(这可以工作,使用indexOf或其他类似Underscore的东西)。
实际上,Angular 需要的是一个包装器,因为您无法确定您的拦截器是列表中的最后一个。
| 归档时间: |
|
| 查看次数: |
6964 次 |
| 最近记录: |