美文网首页Swift学习笔记
Swift - 多线程 - 延迟、异步延迟

Swift - 多线程 - 延迟、异步延迟

作者: aven_kang | 来源:发表于2022-05-14 14:37 被阅读0次
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) {
            
        } _: {
            
        }

相关文章

网友评论

    本文标题:Swift - 多线程 - 延迟、异步延迟

    本文链接:https://www.haomeiwen.com/subject/lkuarrtx.html