JavaScript | Практика #167 | Промисы | ★★★☆☆
<p><strong>Ответ: <code>"fourth", "first", "third", "second"</code></strong></p>
<p>При выполнении кода сначала выполняется синхронный код и строка <code>console.log('fourth');</code> выводится в консоль, затем начинает выполняться код внутри асинхронной функции <code>setTimeout</code> и выводится строка "<code>first</code>", выполняется метод <code>resolve</code> с аргументом "<code>second</code>", и после этого выводится строка "<code>third</code>".</p>
<p>Метод then у промиса выполняется после того, как промис переходит в состояние <code>fulfilled</code> (вызова метода <code>resolve</code>), поэтому строка "<code>second</code>" выводится после "<code>third</code>".</p>
<p><strong>Ответ: <code>"fourth", "first", "third", "second"</code></strong></p>
<p>При выполнении кода сначала выполняется синхронный код и строка <code>console.log('fourth');</code> выводится в консоль, затем начинает выполняться код внутри асинхронной функции <code>setTimeout</code> и выводится строка "<code>first</code>", выполняется метод <code>resolve</code> с аргументом "<code>second</code>", и после этого выводится строка "<code>third</code>".</p>
<p>Метод then у промиса выполняется после того, как промис переходит в состояние <code>fulfilled</code> (вызова метода <code>resolve</code>), поэтому строка "<code>second</code>" выводится после "<code>third</code>".</p>
Ниже представлено пояснение.
Ответ: "fourth", "first", "third", "second"
При выполнении кода сначала выполняется синхронный код и строка console.log('fourth');
выводится в консоль, затем начинает выполняться код внутри асинхронной функции setTimeout
и выводится строка "first
", выполняется метод resolve
с аргументом "second
", и после этого выводится строка "third
".
Метод then у промиса выполняется после того, как промис переходит в состояние fulfilled
(вызова метода resolve
), поэтому строка "second
" выводится после "third
".