RxSwift - X 秒未收到项目后发出

RxSwift - Emit after not receiving items for X seconds

我一直在努力寻找一种方法来实现这种行为,但未能找到可行的解决方案。

我想达到的目标

var dataSource = Variable<[T]>([])

var arrayObserver: Observable<SomeType> {

    return dataSource.asObservable()
        .map({ (elementoftype[T]) in

        // do something with it and return element of SomeType
        })
}

dataSource 变量以 1 乘 1 的形式输入。我希望 arrayObserver 能够缓冲/"hold" 到 mapping 直到自 dataSource 上次发出以来已经过了 0.5 秒。

非常感谢您的建议!

原来是来电

.throttle(0.5, MainScheduler.instance)

在映射完成之前。