1
我在玩异步行为时偶然发现了这种行为。任何人都可以解释这种行为?
https://dartpad.dartlang.org/6cac2e240375b531630c9e47e3875b63
为什么0秒的setTimeout不立即执行print语句谁能给我解释一下?
我在玩异步行为时偶然发现了这种行为。任何人都可以解释这种行为?
https://dartpad.dartlang.org/6cac2e240375b531630c9e47e3875b63
为什么0秒的setTimeout不立即执行print语句谁能给我解释一下?
setTimeout
将传递的函数排入事件队列,并且传递的代码执行异步。 https://webdev.dartlang.org/articles/performance/event-loop
同步代码执行到最后,然后处理事件队列中的下一个事件。
有趣。我还注意到,当你使用Future.sync代替setTimeout时,这种行为不会发生。 – Eternalcode
'Future's有一些不同的行为。还有微任务队列,在执行事件队列中的下一个任务之前处理它。 “未来”具有更高的优先级AFAIR。 –
Re:'同步代码被执行到最后'。 '结束'表示当前函数结束,或者调用'yield'(如果在同步*或异步*函数中),对吗? –