【发布时间】:2021-12-10 14:37:46
【问题描述】:
在 ViewModel 中,我目前正在使用回调 1. 进行 API 调用并设置 data1,2. 在第二个 API 调用中使用 data1 来设置 data2,然后在第三个函数中使用 data2 来解析和设置已发布的要在视图中使用的值。
到目前为止,我看到的示例都是基于等待返回值。我只想连续运行 void 函数。我已经尝试实现以下概念,但我不断收到“不支持并发的函数中的异步”。
// ViewModel
var data1:Data?
var data2:Data?
@Published var myString:String?
func getFirstData() async -> Void {
data1 = someAPIrequest()
}
func getSecondData() async -> Void {
data2 = anotherAPIrequest(await data1)
}
func setViewString() {
myString = data2!.name
}
// View
var body: some View {
Text(await model.myString)
}.onAppear{
getFirstData()
getSecondData()
}
【问题讨论】:
标签: swift async-await swiftui ios15 swift5.5