【发布时间】:2020-10-07 15:14:15
【问题描述】:
我在 Angular 中有一个登录视图。我做了:
-
一个 UserService 来获取用户数据。
-
一个 AuthService 用于检查有效用户。
因此,从登录视图中,我将用户名传递给 AuthService,它与 UserService 联系以获取数据并操作数据并返回 boolean 值,无论用户是有效与否。
登录视图代码如下:
身份验证服务:
this.authenticationService.checkValidLogin(userName,password);
身份验证服务:
checkValidLogin(username: string, password: string) {
this.userService.getUserByEmail(username).snapshotChanges().pipe(map(data => data.map(c => ({ key: c.payload.doc.id, ...c.payload.doc.data() })))).subscribe(res => {
if (res[0].password === password) {
return true;
} else {
return false;
}
});
}
我已经返回 true 或 false 但不会返回到方法..!!
我想从订阅中返回 true 或 false 值,或者我在这里缺少什么?
【问题讨论】:
-
从 userService 收到的数据是数组吗?我在问,因为您已经对其调用了地图操作
data.map(c => ({ key: c.payload.doc.id, ...c.payload.doc.data() })
标签: angular typescript rxjs angular-observable