例如,
let observable1 = Observable<Void>.of([1, 2, 3, 4, 5, 6, 7])
.take(1)
.flatMap{_ in
doSomething()
}
let observable2 = Observable<Void>.of([1, 2, 3, 4, 5, 6, 7])
.flatMap{_ in
doSomething()
}
.take(1)
我的问题是,这两个 Observable 有什么区别? 它们看起来一样。
最佳答案
如果 upstream (observable1/observable2) 发出 N 项,.flatMap()
运算符发出 M 项,其中 M 可以大于(通常)、小于或等于 N。
在您的第一个示例中,您从上游 的N 项中取出1 项。在第二个示例中,您从 .flatMap()
运算符发出的 M 个项目中取出 1 个项目。
关于ios - 链中 "take"运算符序列有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53408664/