我是如何通过所有服务调用返回其响应以停止控制器中的加载条
答案 0 :(得分:0)
最好的解决方案之一是实现一个拦截器。拦截器是拦截所有请求和工厂的工厂。从角度应用程序触发的响应。
app.factory( 'Inteceptor', function($rootScope) {
int count = 0;
return {
request : function() {count++},
requestError : function() {},
reponse : function() {
count--;
if( count == 0 ) {
$rootScope.$broadcast( 'Event' )
}
},
responseError : function() {}
}});
在此拦截器中,您可以保留发送的总请求数。从零开始,在requeset上增加它,并在响应时减少它。 要知道所有请求何时完成,您只需广播一个事件,让每个人都知道所有的请求都已完成。
这就是你在config方法中推送拦截器的方法。
$httpProvider.interceptors.push('CustomHttpInterceptor');