0

我正在将我的一些异步函数移至新的 Swift 并发机制。在某些时候,我使用完成处理程序将一个方法转换为一个同步方法DispatchGroup(它看起来很奇怪,但这是因为我在一个中使用了这个方法Operation):

func myMethodSync() -> String {
    var result: String!
    let group = DispatchGroup()
    group.enter()
    myMethod { asyncResult
        result = asyncResult
        group.leave()
    }
    group.wait()
    return result
}

我想使用async/做同样的事情await。然而,当简单地转换代码时,我得到一个编译器错误:

并发执行代码中捕获的 var 'result' 的突变

有没有其他方法可以通过新的 API 实现这一点?

4

0 回答 0