angularjs – 如何实现Restangular的超时和重试

前端之家收集整理的这篇文章主要介绍了angularjs – 如何实现Restangular的超时和重试前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Restangular有没有内置的方法,我可以为ajax / $http调用提供超时?

我如何使用Restangular为ajax / $http调用写一个包装到Retry by Timeout.一个工厂??

谢谢,莱娜.

您可以在RestangularProvider的配置中使用setDefaultHttpFields设置默认超时. Restangular将在内部实现重试逻辑,您可以通过播放例如自己来看到这一点. iOS网络护发素(设置 – >开发人员).但是,如果需要重试,则需要自己实现重试逻辑.何时达到超时.

您可以在Restangular模型中配置默认​​值,因为您还可以为单个Restangular提供程序设置选项.
例如,SessionRestangular和AuthenticationRestangular都共享module.config中定义的设置,但只有SessionRestangular将在HTTP头中发送“token”和“user_id”:

  1. module = angular.module('SessionModel',['restangular'])
  2.  
  3. module.config (RestangularProvider) ->
  4. RestangularProvider.setBaseUrl('https://api.provid.er/v1')
  5.  
  6. RestangularProvider.setDefaultHttpFields
  7. timeout: 10000 # Milliseconds
  8.  
  9.  
  10. module.factory 'SessionRestangular',(Restangular,sessionService) ->
  11. return Restangular.withConfig (RestangularConfigurer) ->
  12. RestangularConfigurer.setDefaultHeaders
  13. 'user_id': sessionService.getUserId(),'token': sessionService.getToken()
  14.  
  15.  
  16. module.factory 'AuthenticationRestangular',(Restangular) ->
  17. return Restangular

猜你在找的Angularjs相关文章