gpt4 book ai didi

dart - Dart 程序何时完成执行?

转载 作者:行者123 更新时间:2023-12-03 04:27:05 25 4
gpt4 key购买 nike

有人可以解释一下为什么在执行最后一条语句(即print(....))之后,下面的程序为什么没有退出,但是它一直运行直到Future完成吗?

void main() {
Future.delayed(
const Duration(seconds: 3),
() => 100,
);
print('Waiting for a value...');
}

最佳答案

Dart确实具有事件队列,因此Dart VM仅在主循环完成,事件队列为空且所有计时器已执行时才停止。由于Future.delayed产生了一个内部计时器,因此Dart VM将在Dart VM停止之前等待计时器执行。

计时器最终在事件队列上产生一个新任务,尝试获取 future 的结果。但是由于没有人等待该结果,因此Dart VM随后将停止。

关于dart - Dart 程序何时完成执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59019995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com