Я пытаюсь отправить два действия в одном эффекте. Один предназначен для аутентификации пользователя (что-то вроде isAuthenticated = true), а другой - для настройки пользователя (в будущем пользовательские данные будут, вероятно, возвращены из ответа покоя), поэтому у меня есть два отдельных хранилища: одно для пользователя, другое для аутентификации. Все хорошо, потому что действия решают проблему, они отправляются снова и снова, что является обычным поведением, но через некоторое время из-за сбоя приложения действия SET_USER. Есть ли способ принять значение учетных данных пользователя только один раз и оставить обычное поведение для проверки подлинности? Вот фрагмент кода:
@Effect()
authSignin = this.actions$
.pipe(
ofType(AuthActions.TRY_SIGNIN),
map((action: AuthActions.TrySignin) => {
console.log('AuthEffects -> authSignin');
return action.payload;
}),
switchMap((data: any) => {
this.router.navigate(['/student']);
const user: User = {
id: '1',
firstName: 'John',
lastName: 'Doe',
pesel: '19827364',
dateOfBirth: new Date(),
address: 'Canada, where clone syrup is made',
phoneNumber: '14 2345 345'
}
return [
{ type: AuthActions.TRY_SIGNIN },
{ type: UserActions.SET_USER, payload: user }
]
})
)
Итак, вопрос еще раз:
Есть ли способ принять значение учетных данных пользователя только один раз и оставить обычное поведение для проверки подлинности?
Любой намек был бы очень полезен. Спасибо.