在Swift中使用Async/Await模式需要使用Swift 5.5及更高版本。Async/Await是一种用于异步编程的新特性,使得异步代码的编写更加简洁和易于阅读。
下面是一个使用Async/Await模式的示例:
func fetchData() async throws -> Data {
let url = URL(string: "https://api.example.com/data")!
let (data, response) = try await URLSession.shared.data(from: url)
guard let httpResponse = response as? HTTPURLResponse, httpResponse.statusCode == 200 else {
throw NetworkError.invalidResponse
}
return data
}
async {
do {
let data = try await fetchData()
let json = try JSONSerialization.jsonObject(with: data, options: []) as! [String: Any]
print(json)
} catch {
print("Error fetching data: \(error)")
}
}
在上面的示例中,我们定义了一个异步函数fetchData()
来从远程API获取数据。然后我们使用async
来调用这个异步函数,并在返回结果后处理数据或处理错误。
需要注意的是,在异步函数前面需要加上async
关键字来声明这是一个异步函数,在调用异步函数时也需要使用await
关键字来等待异步操作完成。
通过使用Async/Await模式,我们可以更加清晰地编写和理解异步代码。