【发布时间】:2021-06-25 22:27:53
【问题描述】:
我有以下代码:
public func test_mutex() async
{
let mutex = Mutex()
async let a = mutex.exclusive("a") { await Tasks.after(ms: 300) {print("a")}}
async let b = mutex.exclusive("b") { await Tasks.after(ms: 200) {print("b")}}
async let c = mutex.exclusive("c") { await Tasks.after(ms: 100) {print("c")}}
_ = await [a, b, c]
}
我得到了三个这样的错误:
Constant 'a' inferred to have type '()', which may be unexpected
然而 - 重点是我正在测试一个什么都不返回的函数 - 我有另一个测试一个返回一些东西的函数 - 即 () 一点也不意外 - 我不能只做这个返回一些东西。
如何摆脱警告? - 或者我如何以其他方式导致三个异步事件并行发生,然后等待它们。
【问题讨论】:
标签: swift concurrency