我们有一次,显示该对话框 完成 以建设小部件。您可以使用如下所示的 Future.delayed 函数(我 测试过 ,它正在工作)。
class XxxxxWidget extends StatelessWidget {@overrideWidget build(BuildContext context) {// [NG]We want to show dialog on Container widget. Future.delayed(Duration.zero, () => showMyDialog(context)); // import 'dart:async'; return Container( child: FlatButton(.... //same as question说明:
由于Dart基于 单线程事件循环 ,因此当我们创建异步任务时,它将把这些事件放在事件队列的末尾并继续其当前执行。请参考以下示例以了解更多详细信息,
void main() { print("first"); Future(() => print("second")); print("third"); Future(() => print("forth"));}
输出将是
firstthirdsecondforth
它非常类似于
DispatchQueue.main.async { print("Async1") //printJob}完成
building thewidget显示后
dialog。看看我的答案是否有类似问题。



