RxSwift 中的合并和平面图运算符有什么区别

What is the difference between merge and flatmap operator in RxSwift

我目前是 RxSwift 的新手,我对 flatMap 和合并运算符有点困惑。我知道合并运算符将多个 observable 合并为一个 observable。我觉得 flatMap 也在做同样的事情 thing.Am 我错了吗?如果是这样,两者之间有什么区别

merge 运算符和 flatMap 都将多个 observable 的输出合并为一个 observable。不同之处在于合并的可观察对象来自何处。

对于 merge 运算符,必​​须已经存在静态数量的可观察对象(对于静态合并方法)或一系列一起发出的可观察对象(对于非静态合并方法) .

对于 flatMap 运算符,正在合并的可观察对象是由传递给运算符的闭包动态生成的。