在我的应用程序的设置中,我使用Restangular.setRequestInterceptor()来调用一个函数,该函数在我使用Restangular发出请求时显示加载屏幕。
但是,我的应用程序中有一个地方我不希望它调用该功能。如何告诉Restangular忽略这一次调用的setRequestInterceptor函数?
答案 0 :(得分:2)
对于遇到此问题的任何其他人,事实证明Restangular允许您创建一个单独的Restangular服务,其具有与全局配置选项不同的配置选项。 Restangular GitHub中的此示例显示了如何:
// Global configuration
app.config(function(RestangularProvider) {
RestangularProvider.setBaseUrl('http://www.google.com');
RestangularProvider.setRequestSuffix('.json');
});
// Restangular service that uses Bing
app.factory('BingRestangular', function(Restangular) {
return Restangular.withConfig(function(RestangularConfigurer) {
RestangularConfigurer.setBaseUrl('http://www.bing.com');
});
});
// Let's use them from a controller
app.controller('MainCtrl', function(Restangular, BingRestangular) {
// GET to http://www.google.com/users.json
// Uses global configuration
Restangular.all('users').getList()
// GET to http://www.bing.com/users.json
// Uses Bing configuration which is based on Global one, therefore .json is added.
BingRestangular.all('users').getList()
});