gpt4 book ai didi

ios - 如何在 swift 中使用 async/await 同时运行多个 API 调用?

转载 作者:行者123 更新时间:2023-12-05 01:26:34 26 4
gpt4 key购买 nike

根据 Swift 中新的结构化并发,我们可以等待在异步上下文中完成的 API 调用,但我想同时进行多个 API 调用,例如,目前如果添加一个接一个的API调用,

profileData = await viewModel.getProfileData()
userCardData = await viewModel.getCardDetails()

上述案例中的问题是 CardDetails 仅在获取配置文件数据后才获取。

最佳答案

可以使用async let 来实现。这种特殊的语法允许您将多个异步调用分组并一起等待它们,例子,

async let profileData = viewModel.getProfileData()
async let userCardData = viewModel.getCardDetails()

上面的声明表明profileDatauserCardData,将在未来的某个时间点可用,就像一个 promise 。

现在,为了使用 profileData 和 userCardData,我们需要使用 await,如果数据已获取且可用,它将立即返回,或者暂停直到数据可用。

上述请求的值可以像这样使用,

let (fetchedProfileData, fetchedUserCardData) = try await (profileData, userCardData)

关于ios - 如何在 swift 中使用 async/await 同时运行多个 API 调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70172361/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com