我正在尝试执行async-http-client
doku的示例。但不幸的是,闭包中的代码未执行。为什么?
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
。因此成功执行。但是控制台中没有打印语句。
谢谢!
答案 0 :(得分:1)
这是因为主线程在请求完成之前就已经执行了,因此除非您要求主线程等待httpclient,否则不会调用print语句
https://github.com/swift-server/async-http-client/issues/129