如何在RxSwift中放置延迟?

问题描述 投票:0回答:1

我有一个Observable可以执行一些任务,我希望它在5秒后给我结果,但是它在此之前,有时在5秒后给我,这取决于复杂性。

例如:

如果我的代码在2秒钟内完成了任务,并且即将发出计算出的值。我希望它再等待3秒,然后发出计算值。

我该如何实现?我听说过防抖和节流阀。

delay rx-swift
1个回答
2
投票

可以与Observable.timer一起使用Observable.zip

类似:

Observable<MyType>.zip(
    myObservable, 
    Observable<Int>.timer(RxTimeInterval.seconds(5), scheduler: MainScheduler.instance),
    resultSelector: { myItem, _ in return myItem }
)

结果选择器将忽略计时器产生的值。

© www.soinside.com 2019 - 2024. All rights reserved.