gpt4 book ai didi

angular - 如何使用条件语句订阅不同的服务方法?

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

无法根据条件语句弄清楚如何订阅所需的 Angular 服务方法

  // this.someService.someMethod depending on the conditional statement
.pipe(takeUntil(this.unsubscribe$))
.subscribe((items) => {
this.someData = items;
});

最佳答案

如果您的两个服务都返回 Observable 或 Promise,您可以使用 RxJs 条件运算符 iff 来实现这一点。

iff 运算符有 3 个参数,第一个是您的条件,第二个和第三个是返回 Observable/Promise 的不同服务。

如果条件为 true 订阅第一个 observable,如果条件为 false 订阅第二个 observable

 iif(
() => {
//Add your condition here
return a + b === 4;
},
this.someService.someMethodWhenTrue(),
this.someService.someMethodWhenFalse()
)
.pipe(takeUntil(this.unsubscribe$))
.subscribe((items)=> {
this.someData = items;
});

我推荐你阅读这篇 https://www.learnrxjs.io/learn-rxjs/operators/conditional/iif

关于angular - 如何使用条件语句订阅不同的服务方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70818410/

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