У меня есть несколько прослушивателей эффектов, которые нужно запускать до тех пор, пока пользователь не выйдет из системы. Таким образом, я пытаюсь реализовать OnRunEffects. а>.
Сегмент моего user.actions.ts:
export const LOAD_USER = '[Users] Load User';
export class LoadUser implements Action {
readonly type = LOAD_USER;
}
export type UserActions = LoadUser;
Я пытаюсь реализовать OnRunEffects как:
ngrxOnRunEffects(resolvedEffects: Observable<EffectNotification>) {
return this.actions
.ofType(UsersActions.LOAD_USER)
.exhaustMap(() => resolvedEffects.takeUntil(AuthActions.LOGOUT_SUCCESS)
}
Однако takeUntil жалуется, что ему нужно как Observable. Итак, я попытался:
ngrxOnRunEffects(resolvedEffects: Observable<EffectNotification>) {
return this.actions
.ofType(UsersActions.LOAD_USER)
.exhaustMap(() => resolvedEffects.takeUntil(
Observable.of(new AuthActions.LogoutSuccess())
)
}
Это, в свою очередь, приводит к тому, что эффект не срабатывает. Судя по коду, в нем указано:
- Когда вы видите эти действия
- запустить эффекты
- пока вы не увидите это другое действие.
Что я делаю не так?
filter
? В вашем распоряженииofType<>().filter(IS THE USER CONNECTED)
- person maxime1992   schedule 15.09.2017