2
操作を再試行するための再試行ロジックがあります。 1回のリクエストでうまく動作します。複数の進行中の要求については、再試行する前に既存の再試行ロジックが完了するのを待っています。Rxjs observableが何らかの条件が満たされるまで待機する
handleError(errors: Observable<any>) {
const retryCountStart: number = 1;
// wait if there is any existing operation retrying
// once it is complete, continue here
return errors
.mergeScan<any, any>(
(retryCount: any, err: any) => {
if (retryCount <= 5) {
return Observable.of(retryCount + 1);
}
},retryCountStart)
.delay(1000);
}
上記の方法で条件が満たされるまでに遅延を追加するにはどうすればよいですか?
感謝を。 async/awaitを使用すると、私の呼び出し元関数をすべてasyncで更新する必要があると思います。非同期/待たずにそれを達成することは可能ですか? – developer
いいえ、あなたはそれの前に 'async'を使わなければなりません。私は' handleError'メソッドの前に答えを加えました。 – Faisal
他の解決策がある場合は、私はそれを認識していません。私は私のプロジェクトで何のエラーもなくこれを使用しています:) – Faisal