È possibile impostare il timeout predefinito con setDefaultHttpFields nella configurazione del RestangularProvider. Restangular implementerà internamente la logica dei tentativi, puoi vederlo da solo giocando con es. il condizionatore di rete iOS (Impostazioni -> Sviluppatore). Tuttavia, è necessario implementare la logica Riprova da soli se è necessario riprovare ad es. quando il timeout è stato raggiunto.
È possibile configurare i valori predefiniti nel modello Restangular, in quanto è anche possibile impostare le opzioni per un singolo fornitore Restangular. Per esempio, qui sia SessionRestangular e AuthenticationRestangular entrambi condividono le impostazioni definite in module.config, ma solo SessionRestangular invierà il "token" e "user_id" nelle intestazioni HTTP:
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
fonte
2013-10-29 07:07:06