Play IT

Promise и async/await

Интерактивное демо «Promise и async/await» — раздел Энциклопедия · Код и разработка.

code-devencyclopedia

Асинхронность на Promise — один поток JS

fetch + .then: сеть ждётся в Web API, а console.log('B') выполняется сразу. Без новых потоков ОС — только event loop и очереди.

КодJavaScript · Promise + fetch
console.log('A: шапка отрисована'); showSpinner(); fetch('/api/posts')  .then(res => res.json())  .then(posts => {    hideSpinner();    render(posts);  }); console.log('B: UI не заблокирован');
Call Stack · Web API · Microtasks

Синхронный код в Call Stack

console.log отработал сразу — пользователь видит шапку.

Call Stack

main()

Web API

нет активных

Microtask Queue

пусто
console →A: шапка отрисована
Runtime: Один поток JS. Стек выполняет строки сверху вниз.

Шаг 1 из 7