标签: swift reactive-programming rx-swift
我有一个Observable<Foo>,它发出一些值,但从未完成。我们称之为source。我想创建一个Observable<[Foo]>,使其在source发出时发出source到目前为止发出的所有项目。
Observable<Foo>
source
Observable<[Foo]>
例如,如果source发出a然后b则c,则结果必须发出[a]然后[a,b]然后[a,b,c]。
这怎么实现?
任何帮助,不胜感激!
答案 0 :(得分:1)
您可以使用scan运算符,其中的累加器是一个数组,并且闭包在每个新事件上都会向其添加元素。
the documentation
但是,这很奇怪,如果您不注意的话,它很快就会变得非常缓慢和疯狂。