gpt4 book ai didi

angular - 返回 false 而不是 undefined

转载 作者:行者123 更新时间:2023-12-05 04:52:27 25 4
gpt4 key购买 nike

在 Angular 11/Typescript 应用程序上我有:

authorize(policy: Policy) : Observable<boolean> {

switch(policy) {

case Policy.Admin:

return zip(this.authenticationService.isSignedIn(), this.user$).pipe(
map(([isSignedIn, user]: [boolean, UserModel]) =>
isSignedIn
&&
user?.claims?.some((claim: Claim) => claim.value === 'Admin'))
);

user类型为 Observable<UserModel>isSignedIn类型为 Observable<boolean, undefined> .

当我构建应用程序时出现错误:

Type 'Observable<boolean | undefined>' is not assignable to type 'Observable<boolean>'

我不想返回未定义的。我宁愿返回 false 而不是 undefined。

我该怎么做?

最佳答案

用 bool 值结束你的 map ......

  const isSignedIn$ = this.authenticationService.isSignedIn();
const user$ = this.user$;

return zip(isSignedIn$, user$).pipe(
map(([isSignedIn, user]: [boolean, UserModel]) => {
const hasAdminRole = user?.claims?.some((claim: Claim) => claim.value === 'Admin');

return !!(isSignedIn && hasAdminRole);
})
);

关于angular - 返回 false 而不是 undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66498338/

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