gpt4 book ai didi

javascript - Observable 不可分配给 Observable<{}>。它缺少以下属性,如名称、电子邮件、isAdmin

转载 作者:行者123 更新时间:2023-11-30 09:11:12 26 4
gpt4 key购买 nike

我正在返回带有通用对象的可观察对象,如果用户存在则返回用户对象,否则返回 null。但在这个过程中,我收到如下错误:

observable<-unknown-> is not assign to observable<{}>.``` And it is missing the following properties.

auth.service.ts

import { AppUser } from './models/app-users';
import { UserService } from './user.service';
import { of } from 'rxjs';

export class AuthService {

constructor(private userObj:UserService)

get appUser$(): Observable<AppUser | null> {
return this.user$.pipe(
switchMap(user => user
? this.userObj.get<AppUser>(user.uid).valueChanges()
: of(null)
)
);
}




用户服务.ts:

 get(uid:string):AngularFireObject<AppUser>{
return this.db.object('/users/' + uid);
}

app-users.ts:

export interface AppUser {
name: string;
email: string;
isAdmin: boolean;
}

如果用户不存在,如何返回null?

最佳答案

你应该这样做,通过改变返回类型。我猜你在 tsconfig.json 中使用了 strict: true 选项:

get appUser$(): Observable<AppUser | null> {
return this.user$.pipe(
switchMap(user => user
? this.userObj.get(user.uid).valueChanges()
: of(null)
)
);
}

关于javascript - Observable<unknown> 不可分配给 Observable<{}>。它缺少以下属性,如名称、电子邮件、isAdmin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58766458/

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