app.config(function(RestangularProvider) {
RestangularProvider.addRequestInterceptor(function(element) {
console.log("Request started");
return element;
});
RestangularProvider.addResponseInterceptor(function(data) {
console.log("Request returned");
return data;
});
});
我试图弄清楚如何在请求进行时创建微调器。我怀疑这通常是通过显示请求何时开始,并在请求完成时隐藏它来完成的。
如何使用Angular和Restangular执行此操作?我有拦截器设置如上,但这是在.conifg(),所以我无法访问$ rootScope或任何东西来跟踪任何div的可见性。
答案 0 :(得分:7)
事实证明,我可以在run()
块内部配置Restangular,让我可以访问$rootscope
,如下所示:
app.run(function($rootScope, Restangular) {
Restangular.addRequestInterceptor(function(element) {
$rootScope.xhr = true;
return element;
});
Restangular.addResponseInterceptor(function(data) {
$rootScope.xhr = false;
return data;
});
});