我希望能够让函数doSomething()
从不class B
存在async
并且不阻止它的调用者线程。但是使用以下代码,我得到了这个错误:
无法将“() async -> Void”类型的函数传递给期望同步函数类型的参数
并且 xcode 尝试强制执行doSomething()
函数 fromclass B
成为async
class A {
func doSomething() async throws {
//perform
}
}
class B {
let a = A()
func doSomething() {
DispatchQueue.global().async {
do {
await try a.doSomething()
} catch {
print(error)
}
}
}
}