在 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()
}