小编Vla*_*kiy的帖子

如何异步调用async函数而不等待结果

假设我有以下功能。

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

8
推荐指数
1
解决办法
1万
查看次数