Con*_*kov 2 rxjs subject-observer angular rxjs-subscriptions
无法弄清楚如何根据条件语句订阅 Angular 服务所需的方法
// this.someService.someMethod depending on the conditional statement
.pipe(takeUntil(this.unsubscribe$))
.subscribe((items) => {
this.someData = items;
});
Run Code Online (Sandbox Code Playgroud)
iff如果您的两个服务都返回 Observable 或 Promise,则可以使用 RxJs 条件运算符来实现此目的。
该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;
});
Run Code Online (Sandbox Code Playgroud)
我建议您阅读此https://www.learnrxjs.io/learn-rxjs/operators/conditional/iif
| 归档时间: |
|
| 查看次数: |
2015 次 |
| 最近记录: |