为什么总写成延迟0秒Future.delayed(Duration.zero, () { _initData(); });

都写成延迟0秒,我很不解
Future.delayed(Duration.zero, () {
_initData();
});

如果延迟时间小于等于0,那么就会在这个事件会在下个事件开始之前运行,也就是在下个事件对应的微任务全部执行完毕再来运行当前这个事件。

如果帮到您,希望给个采纳

另外 博主在1024那天参加活动,发布了一个blog,可以来访问一下,感激不尽。

我想在1024发的一篇博客。_Pumpkin's Blog-CSDN博客 前言  本篇文章不谈技术,只写一些随笔。  直到今天(2021年10月24日)笔者已经毕业一年了。其实在这之前我对于1024,程序员这些名词在心里其实并不是很在意,每年在这一天大概就是看看网上的搞笑新闻以及图片,心里笑一笑就过去了。但是今年对于1024突然有一种别样的感觉,不同于往日,好像这就是我应该过的一个节日。  为什么会产生这样的感觉呢?我思索良久,大概可能是因为已经真正意义的工作了一年,内心接受了自己属于程序员的这个大群体,并且从某种意义上来说这是工作后的第一个1024,新鲜感也是一方面吧。但 https://blog.csdn.net/weixin_44235109/article/details/120924109

就是切换一下时间片
比如你需要按业务顺序打印11,22,33,正常代码如下
print('11');
print('22');
print('33');
但是程序的逻辑需要在打印33之后才能够进行打印22的任务,你就可以用delay来切换时间片

main(){
    print('11');
    Future.delayed(Duration.zero, () {
        print('22');
    });
    print('33');
}