gpt4 book ai didi

angular - 在 RXJS Tap 操作符内部时,Console.Log 不会执行

转载 作者:行者123 更新时间:2023-12-03 08:35:42 25 4
gpt4 key购买 nike

我有以下观察结果:

this.authenticationService.isSignedIn() -> Observable<Boolean>

this.user$ -> Observable<UserModel>

我需要根据两者检查条件,因此我尝试了:

zip(this.authenticationService.isSignedIn(), this.user$).pipe(
map(([isSignedIn, user]: [boolean, UserModel]) => isSignedIn && user.claims))
);

因为我得到了意想不到的结果,所以我尝试使用以下方法检查内容:

zip(this.authenticationService.isSignedIn(), this.user$).pipe(
tap(([isSignedIn, user]: [boolean, UserModel]) => {
console.log(isSignedIn);
console.log(user);
})
);

但是两个console.log没有执行。我错过了什么?

最佳答案

您可能错过了订阅。所有 rxjs 的东西都是惰性的,在订阅完成之前不会运行。如果除了 tap 运算符之外,您不需要以其他方式处理结果,只需在末尾添加 .subscribe()

zip(...).pipe(
tap(...)
).subscribe();

关于angular - 在 RXJS Tap 操作符内部时,Console.Log 不会执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63925934/

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