例如,
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有什么区别? 他们看起来一样。
答案 0 :(得分:1)
如果上游(observable1 / observable2)发出 N 个项目,则.flatMap()
运算符发出 M 个项目,其中 M (通常)可以更大,更小或等于 N 。
在第一个示例中,您要从上游的 N 个项目中提取1个项目。在第二个示例中,您将从.flatMap()
运算符发出的 M 项中提取1个项。