【发布时间】:2020-05-21 22:14:14
【问题描述】:
我有以下代码:
obs.pipe(
switchMap((val) => {
// some logic...
return iif(() => condition, someObservable())
})
);
我只是想知道为什么不能用简单的if 而不是iif 来实现这一点?
if (condition) {
return someObservable();
}
【问题讨论】:
-
在第一种情况下,如果条件为假,则生成的流立即完成。在第二种情况下,如果条件为假,您似乎没有返回任何流。为了进行比较,第二个示例需要有一个 else 并返回
EMPTY。iif的文档在这里:rxjs.dev/api/index/function/iif"
标签: javascript rxjs