Restangular忽略setRequestInterceptor一次

时间:2014-01-03 17:33:19

标签: javascript angularjs restangular

在我的应用程序的设置中,我使用Restangular.setRequestInterceptor()来调用一个函数,该函数在我使用Restangular发出请求时显示加载屏幕。

但是,我的应用程序中有一个地方我不希望它调用该功能。如何告诉Restangular忽略这一次调用的setRequestInterceptor函数?

1 个答案:

答案 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()
});