2016-08-02 86 views

回答

2

setTimeout將傳遞的函數排入事件隊列,並且傳遞的代碼執行異步。 https://webdev.dartlang.org/articles/performance/event-loop

同步代碼執行到最後,然後處理事件隊列中的下一個事件。

+0

有趣。我還注意到,當你使用Future.sync代替setTimeout時,這種行爲不會發生。 – Eternalcode

+1

'Future's有一些不同的行爲。還有微任務隊列,在執行事件隊列中的下一個任務之前處理它。 「未來」具有更高的優先級AFAIR。 –

+0

Re:'同步代碼被執行到最後'。 '結束'表示當前函數結束,或者調用'yield'(如果在同步*或異步*函數中),對嗎? –

相關問題