gpt4 book ai didi

angular - @ngrx 中效果中的链式操作

转载 作者:太空狗 更新时间:2023-10-29 17:49:18 26 4
gpt4 key购买 nike

我在发出 HTTP 请求的 Effect 中一个接一个地链接操作时遇到了一些问题。

效果代码如下:

export class UserEffects {

@Effect()
update$: Observable<Action> = this.actions$.ofType(user.USERCHANGE).pipe(
switchMap(data => this.authService.login(data['payload'])),
map(userInfo => new UserChangedAction(userInfo)),
tap(() => this.store.dispatch(
new LoginStateChangeAction(localStorage.getItem('token')))
)
);

constructor(private authService: AuthService, private actions$: Actions,
public store: Store<fromRoot.State>) {}
}

问题是这两个 Action 同时被调用。 LoginStateChange 操作依赖于 UserChanged 操作来完成。

我怎样才能做到这一点?

谢谢!

最佳答案

您可以按照 Austin 的帖子中的说明返回多个操作:Dispatching Multiple Actions from NGRX Effects

@Effect()
update$ = this.actions$.ofType(user.USERCHANGE).pipe(
switchMap(data => this.authService.login(data['payload'])),
switchMap(userInfo => [
new UserChangedAction(userInfo),
new LoginStateChangeAction(localStorage.getItem('token')),
])
);

关于angular - @ngrx 中效果中的链式操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51815427/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com