使用DispatchQueue.asyncAfter延迟调用

时间:2018-09-09 21:52:56

标签: swift grand-central-dispatch

我一直在尝试了解asyncAfter中的DispatchQueue方法是如何工作的,因此我可以在我的代码中实现该方法以延迟网络调用。我尝试了此线程的建议,但无济于事: How do I write dispatch_after GCD in Swift 3 and 4?

在我的测试代码中,仅打印第一个打印语句。为什么第二张照片不打印?

func queueWithDelay() {
    let delayQueue = DispatchQueue(label: "testqueue")

    print("First: \(Date())")

    delayQueue.asyncAfter(deadline: .now() + .seconds(1)) {
        print("Second: \(Date())")
    }
}
queueWithDelay()

先谢谢您。

1 个答案:

答案 0 :(得分:-1)

您要在操场上进行测试吗?

如果是,请尝试import PlaygroundSupport

并设置

PlaygroundPage.current.needsIndefiniteExecution = true

在编译器到达文件末尾时,您必须对游乐场页面说不停止,而是等待