Я случайно наткнулся на это поведение, играя вокруг асинхронного поведения.Может ли кто-нибудь объяснить это поведение?
https://dartpad.dartlang.org/6cac2e240375b531630c9e47e3875b63
Может кто-нибудь объяснить мне, почему SetTimeout с 0 секунд сразу не выполняет оператор печати?
Интересно. Я также заметил, что это поведение не возникает, если вы используете Future.sync вместо setTimeout – Eternalcode
'Будущее имеет немного другое поведение. Существует также очередь микрозадач, которая обрабатывается до выполнения следующей задачи из очереди событий. «Будущее» имеет еще более высокий приоритет AFAIR. –
Re: 'код синхронизации выполнен до конца'. «Конец» означает конец текущей функции или вызывается 'yield' (если в функции синхронизации * или async *), правильно? –