Restangular有没有内置的方法,我可以为ajax/$ http调用提供超时?
我如何使用Restangular为ajax/$ http调用编写一个包装到Retry by Timeout.一个工厂??
谢谢,莱娜.
您可以在RestangularProvider的配置中使用setDefaultHttpFields设置默认超时.Restangular将在内部实现重试逻辑,你可以通过玩iOS网络调节器(设置 - >开发人员)来自己看到.但是,如果需要重试,则需要自己实现重试逻辑.何时达到超时.
您可以在Restangular模型中配置默认值,因为您还可以为单个Restangular提供程序设置选项.例如,SessionRestangular和AuthenticationRestangular都共享module.config中定义的设置,但只有SessionRestangular将在HTTP头中发送"token"和"user_id":
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4241 次 |
| 最近记录: |