@effect()
public loadAccommodations$: Observable = this.actions$
.ofType(PAA.PROPERTY_LOAD_REQUEST)
// .debounce(300)
// introducing this mitigates the flood but does not resolve the issue
.switchMap((action: Action) => {
return this.propertyAccommodationsService.loadAccommodations(action.payload.id)
.takeUntil(this.loadAccommodations$)
.map((response: IResponseSuccess) => PAA.loadSuccess(action.payload, response))
.catch((error: Error) => {
const errorNotification = errorNotificationFactory(error.message);
this.notificationService(errorNotification)
return of( PAA.loadFailure() );
});
});
После отправки PAA.PROPERTY_LOAD_REQUEST только один раз мой эффект перехватит это действие много раз, пока не будет превышен максимальный размер стека вызовов.
Версии: "angular / core": "2.4.6",
"@ ngrx / core": "^ 1.2.0",
"@ ngrx / store": "^ 2.2.1",
"@ ngrx / effects": "^ 2.0.1",
«rxjs»: «5.0.2»,
Примечание: эффекты регистрируются только один раз в app.module.