@ngrxエフェクトに関する非常に基本的な質問があります:エフェクトの実行中に発生するエラーを将来のエフェクトの実行に影響を与えないように無視する方法はありますか?ngrxはエラー処理に影響を与えます
私の状況は次のとおりです。私はアクション(LOGIN)とそのアクションを聞いているエフェクトを持っています。このエフェクトの内部でエラーが発生した場合は、無視します。このエラーが発生してから2度目にLOGINが送出されると、2回目のエフェクトを実行する必要があります。これを行うには
私の最初の試みでした。予想通り最初の時間は、エラーをスローし、キャッチログイン
@Effect()
login$ = this.actions$
.ofType('LOGIN')
.flatMap(async() => {
console.debug('LOGIN');
// throw an error
let x = [];x[0]();
})
.catch(err => {
console.error('Error at login', err);
return Observable.empty();
});
を派遣します。しかし、後でLOGINを2回発行すると何も起こりません。その効果は実行されない。
。したがって、私は次のことを試してみました:
.catch(err => {
return this.login$;
});
が、これは無限ループになり...あなたは後で効果の実行を妨げることなく、エラーをキャッチする方法を知っていますか?
を私はngrx知らないが、あなたの代わりに引くの流れにちょうど '.retry()'、おそらくすることができます。 – Gluck