fab*_*i_k 3 rxjs ngrx ngrx-effects angular ngrx-store
我有以下问题:
在服务内部,我在forEach循环中触发了相同的ngrx Action
sensorCategories.forEach(category => {
if (category === 'power' || category === 'air-flow') {
this.store.dispatch(new fromEnergyManagementActions.FetchBigWidgetDataAction({ category: category }));
} else {
this.store.dispatch(new fromEnergyManagementActions.FetchSmallWidgetDataAction({ category: category }));
}
});
Run Code Online (Sandbox Code Playgroud)
然后,这将触发下一个副作用:
@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()));
Run Code Online (Sandbox Code Playgroud)
然后,服务中的方法fetchSmallWidgetData将使用“新” HttpClient执行其余调用。
因此,问题在于ngrx / effect中止了先前的调用。我测试了之间的超时。当超时时间足够长时,一切都会成功。
你有什么建议?我可以使用最佳实践吗?谢谢你的帮助
| 归档时间: |
|
| 查看次数: |
583 次 |
| 最近记录: |