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$
  );
})