ajax/$http 呼び出しのタイムアウトを提供できる Restangular への組み込みの方法はありますか?
また、ajax/$http 呼び出しに Restangular を使用して、Retry by Timeout のラッパーを作成するにはどうすればよいですか。工房??
ありがとう、リーナ。
ajax/$http 呼び出しのタイムアウトを提供できる Restangular への組み込みの方法はありますか?
また、ajax/$http 呼び出しに Restangular を使用して、Retry by Timeout のラッパーを作成するにはどうすればよいですか。工房??
ありがとう、リーナ。
RestangularProvider の設定で setDefaultHttpFields を使用してデフォルトのタイムアウトを設定できます。Restangular は内部的に再試行ロジックを実装します。これは、たとえば iOS ネットワーク コンディショナー (設定 -> 開発者) で遊んでみるとわかります。ただし、再試行する必要がある場合は、自分で再試行ロジックを実装する必要があります。タイムアウトに達したとき。
個々の Restangular プロバイダーのオプションを設定することもできるため、Restangular モデルでデフォルトを構成できます。たとえば、ここでは SessionRestangular と AuthenticationRestangular の両方が module.config で定義された設定を共有していますが、HTTP ヘッダーで「token」と「user_id」を送信するのは SessionRestangular だけです。
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