Swift学习笔记

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) {
            
        } _: {
            
        }
上一篇 下一篇

猜你喜欢

热点阅读