2013-08-31 11 views

Antwort

7

Sie können das Standard-Timeout mit setDefaultHttpFields in der Konfiguration Ihres RestangularProviders festlegen. Restangular wird die Wiederholungslogik intern implementieren, Sie können dies selbst sehen, indem Sie mit z. der iOS-Netzwerkkonditionierer (Einstellungen -> Entwickler). Sie müssen die Wiederholungslogik jedoch selbst implementieren, wenn Sie dies erneut versuchen müssen. wenn das Zeitlimit erreicht ist.

Sie können die Standardeinstellungen in Ihrem Restangular-Modell konfigurieren, da Sie auch Optionen für einen einzelnen Restangular-Anbieter festlegen können. Zum Beispiel, hier beide SessionRestangular und AuthenticationRestangular beide teilen sich die Einstellungen in module.config definiert, sondern nur die „Token“ und „user_id“ in den HTTP-Header senden SessionRestangular wird:

module = angular.module('SessionModel', ['restangular']) 

module.config (RestangularProvider) -> 
    RestangularProvider.setBaseUrl('https://api.provid.er/v1') 

    RestangularProvider.setDefaultHttpFields 
    timeout: 10000 # Milliseconds 


module.factory 'SessionRestangular', (Restangular, sessionService) -> 
    return Restangular.withConfig (RestangularConfigurer) -> 
    RestangularConfigurer.setDefaultHeaders 
     'user_id': sessionService.getUserId(), 
     'token': sessionService.getToken() 


module.factory 'AuthenticationRestangular', (Restangular) -> 
    return Restangular