DispatchTime.now() 溢出

问题描述 投票:0回答:0

我使用该功能在我的代码中添加延迟

func delayWithSeconds(_ seconds: Double, completion: @escaping () -> ()) {
    DispatchQueue.main.asyncAfter(deadline: .now() + seconds) {
        completion()
    }
}

这是我调用延迟函数的代码

delayWithSeconds(2) {
    //executed after a delay  
    //just to print out the time
    let time_now = DispatchTime.now()
    print("time_now")
    print(time_now)

}

当我运行测试时,有可能它从未运行过

delayWithSeconds(2)
中的代码(这意味着“延迟执行”注释后的代码未执行)。函数中的
.now() + seconds
是否可能溢出?所以它不能去
completion()

我尝试使用调试器来检查时间

DispatchTime.now()
但这确实是一个极端情况,我看不到它!

swift grand-central-dispatch
© www.soinside.com 2019 - 2024. All rights reserved.