Swift - 不等待异步到 return

Swift - Not wait for async to return

我希望能够让 class B 中的函数 doSomething() 不成为 async 并且不阻塞它的调用线程。但是使用以下代码我得到了这个错误:

Cannot pass function of type '() async -> Void' to parameter expecting synchronous function type

和 xcode 尝试将 class B 中的 doSomething() 函数强制为 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)
        }
     }
  }
}

您可以将函数包装在 Task, Task

func doSomething() {
      Task {
        do {
           await try a.doSomething()
        } catch {
           print(error)
        }
     }
  }