У меня есть настройка потока входа в систему.Допустим, у меня есть такой сценарий, пользователь нажимает на кнопку входа с неправильными учетными данными, я отправляю действие входа в систему и ожидаю плохих результатов от API, я показываю ошибку с обработчиком ошибок в пользовательском интерфейсе, пользователь помещает новые учетные данные, которые все еще не являютсяПравильно, я должен быть в состоянии повторить процесс выше.
Ну, для меня это не происходит.Диспетчер стреляет только один раз.Я новичок в ngrx и не уверен, где я делаю неправильно, но вот мой код:
Способ входа:
logInUser(user: User) {
this.store$.dispatch(new fromUserActions.LoginUser(user));
this.actions$.ofType(fromUserActions.LOGIN_USER_FAIL);
}
Побочный эффект:
@Effect()
loginUser$ = this.actions$
.pipe(
ofType(fromUserActions.LOGIN_USER),
map((action: fromUserActions.LoginUser) => action.payload),
switchMap(payload => this.userService.loginUser(payload)),
map((user) => fromUserActions.LoginUserSuccess(user)),
catchError((error) => of(new fromUserActions.LoginUserFail(error.message)))
);
ОшибкаДействие:
export class LoginUserFail implements Action {
readonly type = LOGIN_USER_FAIL;
constructor(public payload: any) { }
}
Вот скриншот инструментов dev-разработчика.Как вы можете видеть, первый раз, когда действие входа в систему и сбой просто работают нормально, впоследствии срабатывает только действие входа в систему.