delay
delay 的签名
delay 的签名func delay(for: Scheduler.TimeInterval, scheduler: Scheduler) -> Publishers.Delay<Self>工作原理
示例:基本用法
import Combine
let publisher = PassthroughSubject<Int, Never>()
let subscription = publisher
.delay(for: .seconds(2), scheduler: DispatchQueue.main) // 延迟 2 秒
.sink { value in
print("Received value: \(value)")
}
publisher.send(1)
publisher.send(2)
publisher.send(3)输出结果(延迟 2 秒后):
示例:延迟完成事件
输出结果(延迟 3 秒后):
delay 与调度器
delay 与调度器使用 delay 在后台线程
delay 在后台线程输出结果(延迟 2 秒后):
delay 的注意事项
delay 的注意事项总结
Last updated