美文网首页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