假设我有以下功能。
func first() async {
print("first")
}
func second() {
print("second")
}
func main() {
Task {
await first()
}
second()
}
main()
Run Code Online (Sandbox Code Playgroud)
尽管将first函数标记为异步没有任何意义,因为它不执行任何异步工作,但仍然有可能......
我期望即使正在等待第一个函数,它也会被异步调用。
但实际上输出是
first
second
Run Code Online (Sandbox Code Playgroud)
我如何异步调用第一个函数来模仿 GCD 的变体:
DispatchQueue.current.async { first() }
second()
Run Code Online (Sandbox Code Playgroud) asynchronous grand-central-dispatch async-await swift swift5