2014-01-03 2 views
1

В настройке моего приложения я использую Restangular.setRequestInterceptor() для вызова функции, которая показывает экран загрузки в любое время, когда я делаю запрос с помощью Restangular.Restangular ignore setRequestInterceptor once

Однако в моем приложении есть одно место, где я не хочу, чтобы он вызывал эту функцию. Как я могу сказать Restangular игнорировать функцию setRequestInterceptor для этого одного вызова?

ответ

2

Для всех, кто сталкивается с этой проблемой, оказывается, что 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() 
});