1
在重試時,我能夠在失敗時重新執行http請求,就像RxJs Observables: run retryWhen after some more async requests中的示例一樣。我希望ajax(..)在失敗後重新輸入新選項。假設我想在第一次http請求失敗後更改標頭或網址。任何示例?重試後更新Ajax URL時
在重試時,我能夠在失敗時重新執行http請求,就像RxJs Observables: run retryWhen after some more async requests中的示例一樣。我希望ajax(..)在失敗後重新輸入新選項。假設我想在第一次http請求失敗後更改標頭或網址。任何示例?重試後更新Ajax URL時
retryWhen
所做的一切是重新訂閱其源Observable。這意味着什麼取決於你。
例如,你可以使用Observable.defer()
返回不同的可觀察每個重新訂閱:
let retries = 0;
Observable.defer(() => {
if (retries++ === 3) {
return Observable.of('whatever');
}
return this.http.get(...);
})
.retryWhen((errors: Observable) => errors)
.subscribe(...);
同樣可以使用例如Observable.create()
。