You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter Dart中多个异步函数能否并发执行?附API场景咨询

Dart异步执行疑问

问题描述

我有4个可能调用更多API的接口请求,在main()中编写如下代码:

api1();
api2();
api3();

每个函数的主体为:

{
 await getData();
 getMoreData();
 getMoreData();
}

注意main函数和函数主体中均未使用await关键字。请问这是否意味着前3个函数会同时执行,后续调用的函数也会同时执行?

解答

是的,api1、api2、api3会几乎同时启动执行,具体细节如下:

  • 在main函数里直接调用这三个函数且不加await时,Dart事件循环会依次触发它们的执行,不会等待前一个函数执行完毕才启动下一个。
  • 每个函数内部运行到await getData()时,会暂停当前函数的执行,将getData()的异步任务放入事件队列,随后立刻返回,让后续代码(比如api2、api3的启动)继续执行。
  • 当getData()的异步任务完成后,对应的函数才会恢复执行,依次运行后面的getMoreData()(这两个如果是同步调用,会按顺序执行,不会并行)。

总结来说:三个函数的启动是并行的,但每个函数内部的流程会在await处挂起,等异步任务完成后再继续执行后续的同步逻辑。

内容的提问来源于stack exchange,提问作者Miro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 17:12:37