Cen*_*enk 5 swift swift5 swiftui
我有一个@State变量和异步函数。我想每当该变量发生更改时调用异步函数。
基本上,我正在尝试做的事情
VStack {
Text("")
}
.onChange(of: var) { newValue in
await asyncFunction()
}
Run Code Online (Sandbox Code Playgroud)
但这给了我以下错误
无法将“(Int) async -> ()”类型的函数传递给需要同步函数类型的参数
不能在同步函数中直接调用异步函数。您需要将您的调用包装起来Task,否则您需要将您的函数声明为async. 现在,在这种情况下,您无法执行onChange操作async,因此您需要用 来结束您的呼叫Task。
Task {
await asyncFunction()
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2799 次 |
| 最近记录: |