Back to questions
Middle
5
Посмотрите на код с console.log, setTimeout и Promise и объясните в какой последовательности что будет выведено.
Companies where asked
SIB
Answer from AI
sobes.tech AI
Рассмотрим пример с console.log, setTimeout и Promise:
console.log('Start');
setTimeout(() => {
console.log('Timeout');
}, 0);
Promise.resolve().then(() => {
console.log('Promise');
});
console.log('End');
Последовательность вывода будет:
Start— синхронный вызов.End— синхронный вызов.Promise— микротаск, который выполняется после текущего стека вызовов, но до макротасков.Timeout— макротаск, который выполняется после микротасков.
Это связано с тем, что JavaScript сначала выполняет весь синхронный код, затем микротаски (Promise), и только потом макротаски (setTimeout).
Таким образом, вывод будет:
Start
End
Promise
Timeout
Если в вашем вопросе другой код, принцип тот же: синхронный код —> микротаски (Promise) —> макротаски (setTimeout).