Swift - 多线程 - 延迟、异步延迟
2022-05-14 本文已影响0人
aven_kang
public static func delay(_ seconds: Double,
_ block:@escaping Task) -> DispatchWorkItem {
let item = DispatchWorkItem(block: block)
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + seconds, execute: item)
return item
}
Asyncs.delay(3) {
}
异步延迟
public static func delay(_ seconds: Double,
_ block:@escaping Task,
_ mainTask: Task? = nil) -> DispatchWorkItem {
let item = DispatchWorkItem(block: block)
DispatchQueue.global().asyncAfter(deadline: DispatchTime.now() + seconds, execute: item)
if let main = mainTask {
item.notify(queue: DispatchQueue.main, execute: main)
}
return item
}
Asyncs.delay(3) {
} _: {
}