0

我正在尝试执行async-http-clientdoku 的示例。但不幸的是,闭包中的代码没有被执行。为什么?

import AsyncHTTPClient

let httpClient = HTTPClient(eventLoopGroupProvider: .createNew)
httpClient.get(url: "https://swift.org").whenComplete { result in
    print (result)
    switch result {
    case .failure(let error):
        print("failure")
    case .success(let response):
        if response.status == .ok {
            print("success")
        } else {
            print("error in response")
        }
    }
}

在控制台中我得到:Program ended with exit code: 0。所以它执行成功。但是控制台中没有打印语句。

谢谢!

4

1 回答 1

1

这是因为主线程在请求​​完成之前就被执行了,所以除非你让主线程等待 httpclient,否则不会调用 print 语句

https://github.com/swift-server/async-http-client/issues/129

于 2019-12-21T09:02:52.057 回答