Github 链接 到我的示例程序。
在文件app.component.ts中创建了一个会话到期操作,一旦超时就会触发
timerExpiration : setTimeout(() => {
this.store.dispatch(SessionActions.expirationTimerElapsed())
}, 2000) as unknown as number ,
一次以上动作
在
SessionActions.expirationTimerElapsed
的效果完成,
SessionActions.terminateSession
应该触发行动
session.effects.ts
expiredTimer = createEffect(()=>
this.actions.pipe(
ofType(SessionActions.expirationTimerElapsed),
map(()=> SessionActions.terminateSession({reason :'TimeOut'}))
)
);
但是 SessionActions.terminateSession 没有被调用。
知道我做错了什么吗?
效果需要在模块中注册。 有关详细信息,请参阅文档:https://ngrx.io/guide/effects#registering-root-effects