RxJS:合并中的 switchMap 无法使条件可观察 return
RxJS: switchMap inside merge doesn't work to make a conditional observable return
在合并中我希望第一个 observable 在两个不同的之间是有条件的,但是在合并中添加 switchMap 似乎不起作用。
我不明白为什么 merge
中的 switchMap
从不触发并且只处理纯可观察值。
switchMap(() => {
return merge(
switchMap(() => {
if (condition) {
return of(something);
}
return of(somethingelse);
}),
obs2$
);
})
Merge 将 Observable 作为参数,但 SwitchMap 不是创建 Observable 的函数。 SwitchMap 是一个管道运算符,位于 pipe() 中。
解决此问题的一种方法是:
switchMap(() => {
let myVar;
if (condition) {
myVar = something;
} else {
myVar = somethingelse;
}
return merge(
of(myVar),
obs2$
);
})
在合并中我希望第一个 observable 在两个不同的之间是有条件的,但是在合并中添加 switchMap 似乎不起作用。
我不明白为什么 merge
中的 switchMap
从不触发并且只处理纯可观察值。
switchMap(() => {
return merge(
switchMap(() => {
if (condition) {
return of(something);
}
return of(somethingelse);
}),
obs2$
);
})
Merge 将 Observable 作为参数,但 SwitchMap 不是创建 Observable 的函数。 SwitchMap 是一个管道运算符,位于 pipe() 中。
解决此问题的一种方法是:
switchMap(() => {
let myVar;
if (condition) {
myVar = something;
} else {
myVar = somethingelse;
}
return merge(
of(myVar),
obs2$
);
})