У меня есть кнопка входа в систему, где, когда пользователь нажимает, в магазин запускается действие. Действие дает http-вызов, который затем проверяет пользователя.
Однако, похоже, это не работает в моем приложении. У меня есть спиннер, который загружается на одну секунду (то есть debounceTime (1000)), когда инициируется вход в систему. Когда я тестирую, нажимая кнопку входа в систему несколько раз, вызов входа в систему кажется обновленным, таким образом вызывая обновление продолжительности счетчика. Ожидаемое поведение состоит в том, чтобы пользователь нажимал кнопку входа в систему, и если есть какие-либо вызовы, сделанные до того, как наблюдаемое возвращается из первого вызова, все промежуточные должны быть отменены.
app.effects.ts
@Effect()
authenticateLogin$ = this.action$.pipe(
ofType(AppActionTypes.SetAuthInfo),
debounceTime(1000),
exhaustMap((action: SetAuthInfo) => {
const payload = action.payload;
return this.authService
.login(payload.username, payload.password)
.pipe(
map(response => {
this.router.navigate(['/dashboard']);
return new SetAuthInfoSuccess(response);
}),
catchError(error => {
return of(new SetAuthInfoError(error));
})
)
Мое понимание выхлопной карты неверно? Или я что-то упускаю?
Заранее спасибо!