我有一个Observable用于执行某个任务,我希望它在5秒钟后给我结果,但它会在这之前或之后(根据复杂度)给我结果。
例如:
如果我的代码在2秒钟内完成了任务并即将发射计算出的值。我想让它等待另外3秒,然后再发射计算出的值。
我该怎么做呢? 我听说过防抖动和节流。
如果你想要延迟你的 Observable
发射值,你可以像这样做:
Observable.just(()).delay(.seconds(2), scheduler: MainScheduler.instance)
Observable.timer
结合 Observable.zip
。例如:Observable<MyType>.zip(
myObservable,
Observable<Int>.timer(RxTimeInterval.seconds(5), scheduler: MainScheduler.instance),
resultSelector: { myItem, _ in return myItem }
)
结果选择器是忽略计时器产生的值。
RxTimeInterval
中找到.seconds(2)
方法,你知道新版本中有哪些更改吗? - Daksh Gargas