角度で複数のREST-呼び出しを中止しますその後、次の副作用を誘発:@ ngrx /効果は、私は次のような問題を持っているのApp
@Effect()
fetchSmallWidgetData: Observable<Action> = this.actions
.ofType(fromEnergyManagementActions.FETCH_SMALL_WIDGET_DATA)
.map(toPayload)
.switchMap(payload => this.dashboardDataService.fetchSmallWidgetData(payload))
.map((data: SmallWidgetData) => new fromEnergyManagementActions.FetchSmallWidgetDataSuccessAction(data))
.catch(error => of(new fromEnergyManagementActions.FetchSmallWidgetDataFailureAction()));
サービスからのfetchSmallWidgetDataメソッドは、 'new' HttpClientで残りの呼び出しを実行します。ここで
だから、問題はngrx /効果は前の呼び出しを中止することを、です。私はそれをタイムアウトでテストしました。タイムアウトが十分に長い場合、すべて成功します。
あなたの提案は何ですか?私が使うことができるベストプラクティスはありますか? あなたの助けをありがとう
'map'と' catch'を 'switchMap'(または' mergeMap')に動かすことを考えてみてください。そのままでは、エラーが発生すると、 'catch'から返されたストリームがエフェクトを完了し、フレームワークが登録解除されるので、あなたのエフェクトは動作を停止します。 – cartant