有没有办法在每次有 $http 请求时以及收到响应后监听/绑定(bind)事件?
实际上,我已经通过提供自己的事件和监听器手动完成了此操作,但我只是好奇 Angular JS 中是否已经有一个监听器?
我想这样做的原因是,每次我的应用程序发送/执行 $http 请求时,我想显示加载屏幕以指示应用程序正在检索数据,然后在收到响应后将其隐藏。
谢谢!
最佳答案
您可以使用interceptor做到这一点
var httpinterceptor = function ($q, $location) {
return {
request: function (config) {
//show your loading message
console.log(config);
return config;
},
response: function (result) {
//hide your loading message
console.log('Repos:', result);
return result;
},
responseError: function (rejection) {
//hide your loading message
console.log('Failed with', rejection);
return $q.reject(rejection);
}
}
};
app.config(function ($httpProvider) {
$httpProvider.interceptors.push(httpinterceptor);
});
演示:Fiddle
关于javascript - Angular JS - 监听或绑定(bind) $http 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28803946/