Пожалуйста, предсказайте вывод вместе с рассуждением очереди событий приведенного ниже фрагмента. class = "Snippet-Code"> [code]console.log("Start");
setTimeout(() => console.log("Timeout 1"), 0);
async function asyncFunc() { console.log("Async Start"); await new Promise((resolve) => setTimeout(() => resolve(), 0)); console.log("Async End"); }
asyncFunc(); Promise.resolve().then(() => console.log("Promise 1")); setTimeout(() => console.log("Timeout 2"), 0); console.log("End");< /code> < /div> < /div> < /p> Мой прогноз для приведенного выше фрагмента: < /p> ("start","Async Start","End","Async End","Promise 1","Timeout 1","Timeout 2") < /code> Поскольку очередь обещаний в MicroTask, временные очереди в очереди обратного вызова, General Console.log () выполняются синхронно, если они не ожидаются предыдущим утверждением, которое перемещает их к очереди микрозамачивания.("Start" ,"Async Start", "End" , "Promise 1" , "Timeout 1" , "Async End" ,"Timeout 2") [/code] (фактический вывод получил запуска в редакторе) Где я ошибаюсь в моем понимании?