NGRX效应和角度火力



想知道是否有人能帮助我了解这里发生了什么。

我正在运行一个ngrx效果,它调用身份验证服务,对该服务的调用工作正常,如果失败,它也会正确地进入catch错误。

问题是,如果成功,我想将原始操作传递给下一个操作员(而不是对auth服务的调用的响应(。

然而,当我这样做的时候,我总是得到一个未定义的。

login$ = createEffect(
() =>
this.actions$.pipe(
ofType(AuthActions.login),
switchMap(action => {
return this.auth.login(action.user.email, action.password);
}),
map(action => {  **// This is undefined, but what i want is the action object** 
console.log(action);
this.store.dispatch(
loginSuccessful({
user: action,
})
);
}),
catchError((err) => {
console.log('Received error from AngularFire:', err);
return of(err);
})
),
{ dispatch: false }
);

刚刚计算出我可以用tap替换switchMap和map。

login$ = createEffect(
() =>
this.actions$.pipe(
ofType(AuthActions.login),
tap(action => {
return this.auth.login(action.user.email, action.password);
}),
tap(action => {   
console.log(action);
this.store.dispatch(
loginSuccessful({
user: action,
})
);
}),
catchError((err) => {
console.log('Received error from AngularFire:', err);
return of(err);
})
),
{ dispatch: false }
);

相关内容

  • 没有找到相关文章

最新更新