Если ваш наблюдаемый возвращает ошибки, он не дает наблюдателю получать новые события.
Пожалуйста, добавьте в catchError что-то вроде:
public updateNode(action$: Observable<IScenarioNodesAction>, store: Store<IAppState>){
return action$.pipe(
ofType(ScenarioNodeActionType.DB_UPDATE_NODE),
flatMap((action) => {
return this._scenarioNodeService.update(action.payload.botId);
}),
flatMap(data => [
this._scenarioNodeAction.updateNode(data),
]) ,
catchError((error) => {
retryWhen((errors) => {
return errors
.pipe(delay(1000), take(1))
.concat(Observable.throw(`Error`));
},
),
})
);
}
Что из вышеперечисленного делает, он ждет секунду delay(1000)
и повторяет количество раз take(1)
.Если ошибка повторяется, выдается ошибка .concat(Observable.throw('Error'))
.В вашем случае вы просто звоните showError
и drop
на соединение.