我们如何在angular中用createEffect替换Effect代码进行日志记录



有人能帮我如何用createEffect转换下面的Effect代码吗?正如我们所知,这种效果已经被否决了。?

@Effect()
LogIn: Observable<any> = this.actions.pipe(
ofType(AuthActionTypes.LOGIN)
.map((action: LogIn) => action.payload)
.switchMap((payload: any) => {
return this.authService.logIn(payload.email, payload.password).
.map((user: any) => {
console.log(user);
return new LogInSuccess({token: user.token, email: payload.email});
})
.catch((error: any) => {
console.log(error);
// return Observable.of(new LogInFailure({ error: error }));
});
}));

提前感谢!!注*:-我使用以下文档进行此操作https://mherman.org/blog/authentication-in-angular-with-ngrx/


LogIn: Observable<any> = createEffect(() => {
return this.actions.pipe(
ofType(AuthActionTypes.LOGIN),
map((action: LogIn) => action.payload),
switchMap((payload: any) => {
return this.authService.logIn(payload.email, payload.password).pipe(
map((user: any) => {
console.log(user);
return new LogInSuccess({token: user.token, email: payload.email});
}),
catchError((error: any) => {
console.log(error);
return of(new LogInFailure({ error: error }));
});
})
});

最新更新