我的 swiftui View 上的 onAppear 里面有一个条件
我想执行 if 条件 after 我的 firstCall() 结束
我的出现:
.onAppear{
firstCall()
if mybool{ // I want this to be executed just after the firstCall() is completed
value = repo.secondCall(int: self.initialValue)
}
}
我要在if条件执行之前结束的firstCall方法
func firstCall(){
Task{
do{
try await repo.firstCall().watch(block: {myView in
self.initialValue = myView
})
}catch{
print("error")
}
}
}
我需要这个,因为在执行 if 语句之前我需要为我的 self.initialValue 赋值。
另外,第二次调用很少执行,所以在 swiftui 上执行此操作的最佳性能方式是什么,我是 swift 的新手。
将第一次调用更改为适当的异步等待格式
func firstCall() async {
do{
try await repo.firstCall().watch(block: {myView in
self.initialValue = myView
})
}catch{
print(error)
}
}
然后使用
.task
.task{
firstCall()
if mybool{ // I want this to be executed just after the firstCall() is completed
value = repo.secondCall(int: self.initialValue)
}
}