Swift 如何使用异步http客户端

Swift 如何使用异步http客户端,swift,swift-nio,Swift,Swift Nio,我正在尝试执行asynchttpclientdoku的示例。但不幸的是,闭包中的代码没有执行。为什么? import AsyncHTTPClient let httpClient = HTTPClient(eventLoopGroupProvider: .createNew) httpClient.get(url: "https://swift.org").whenComplete { result in print (result) switch result { c

我正在尝试执行
asynchttpclient
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")
        }
    }
}
在控制台中,我得到:
程序以退出代码结束:0
。因此,它的执行是成功的。但是控制台中没有print语句


谢谢

这是因为主线程是在请求完成之前执行的,因此不会调用print语句,除非您要求主线程等待httpclient


好的,谢谢。我看到了。我必须以这样的方式调用它:``导入AsyncHTTPClient let httpClient=httpClient(eventLoopGroupProvider:.createNew)let response=try httpClient.get(url:“print(response)``所以如果我想创建一个进行远程调用的Swift服务器脚本,我必须以顺序(同步)方式处理它们或者我如何以异步方式实现它?请选择此方式以等待异步任务,这样您可以同时运行多个任务,但如果不等待主线程中的所有任务,则无法运行它