gpt4 book ai didi

javascript - 错误 : Effect dispatched an invalid action: undefined

转载 作者:搜寻专家 更新时间:2023-10-30 21:45:21 31 4
gpt4 key购买 nike

我正在尝试为我的 Action 写一个效果。它有2个服务方法:getData()checkToken()

它会抛出一个错误:

"ERROR Error: Effect "IndexEffects.loginStatusValidate$" dispatched an invalid action: undefined"

我该怎么办?

 @Effect()
loginStatusValidate$: Observable<Action> = this.actions$.pipe(
ofType(IndexActionTypes.LoginStatusValidate),
switchMap(() =>
this.authService.getData().pipe(
map(oldToken => {
if (oldToken) {
console.log("oldToken exsits");
this.authService.checkToken().subscribe((newToken) => {
console.log(newToken);
// Throw error if I try to dispatch action here
return new LoginStatusValidateSuccess(newToken);
});
// It's fine if I just dispatch action here
//return new LoginStatusValidateSuccess('');

} else {
return new LoginStatusValidateError();
}
})
)
)
);

 getData() {
return of(localStorage.getItem('ACCESS_TOKEN'));
}
 checkToken(){
// access api refresh token
return of("newToken");

}

最佳答案

问题是 this.authService.checkToken().subscribe((newToken) => {,这样做你不会返回任何东西,你返回的是 undefined.

您已订阅,但您必须返回一系列操作,就像您对 this.authService.getData().pipe 所做的那样。

关于javascript - 错误 : Effect dispatched an invalid action: undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56286118/

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