事件队列中“一批”处理 Future 之后的函数的剩余代码是否?

问题描述

我认为当编译器遇到一个未来时,自动将未来和函数的剩余代码放在事件队列中并基本上捆绑为一个未来。 因此,在这个从 Future1 到 somebullshit() 的示例中,所有内容都应该被推送到事件队列中,并且从 asyncFunction() 返回的未来应该在处理完所有内容后解析。

main(){
     asyncFunction()
}
asyncFunction() async{
     await Future1();
     await Future2();
     somebullshit();
}
  • 我的经验是Future1在事件队列上完成后 接下来处理的不是 Future2,而是来自 首先调用框架,然后继续调用 Future2。
  • 那为什么不直接一个接一个地处理呢?
  • 为什么如果我像这样将 asyncFunction 包装在 Future 中,代码是否按预期工作并在调用 createState 方法后批量执行所有内容
main(){
    Future((){asyncFunction() })
}

这样的解释是不是就像同步代码一样,编译器在遇到未来时会自动跳出当前函数,即使它在事件循环中处理并首先处理其他东西?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)