【发布时间】:2021-09-06 05:39:27
【问题描述】:
我从 auth.state 调用注销方法。我收到以下错误:
错误类型错误:无法读取未定义的属性“管道”
@Action(Logout)
logout(ctx: StateContext<AuthStateModel>) {
return this.loginService.logout().pipe(
tap((result) => {
const state = ctx.getState();
ctx.setState({...state,
loggedInUser:undefined,
accessToken: undefined,
username: undefined,
email:undefined,
roles:undefined,
});
})
);
}
这是logOut 方法
public logout(): Observable<void> {
return this.tokenStorage.signOut();
}
这是来自localstorage 的signOut 方法
public signOut():any {
return window.sessionStorage.clear();
}
错误图片:
【问题讨论】:
-
为什么将signOut()的返回类型设置为any? window.sessionStorage.clear() 返回 void,而不是 Observable。让它返回一个可观察的,或者只是取出不必要的可观察流。
标签: angular typescript ngxs