Let*_*ate 7 ios async-await swift swift5
根据 Swift 中新的结构化并发,我们可以等待在异步上下文中完成的 API 调用,但我想同时进行多个 API 调用,例如,目前如果一个接一个地添加 API 调用,
profileData = await viewModel.getProfileData()
userCardData = await viewModel.getCardDetails()
Run Code Online (Sandbox Code Playgroud)
上述情况的问题是只有在获取配置文件数据后才获取 CardDetails。
Let*_*ate 16
它可以使用 来实现async let。这种特殊的语法允许您将多个异步调用分组并等待它们,例如,
async let profileData = viewModel.getProfileData()
async let userCardData = viewModel.getCardDetails()
Run Code Online (Sandbox Code Playgroud)
上述声明表明,profileData和userCardData,将在未来的某个时间可用,就像一个承诺。
现在为了使用 profileData 和 userCardData,我们需要使用等待,如果数据被获取并且可用,它将立即返回,或者挂起直到数据可用。
上述请求中的值可以像这样使用:
let (fetchedProfileData, fetchedUserCardData) = try await (profileData, userCardData)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6162 次 |
| 最近记录: |