Навіщо взагалі потрібна асинхронність
JavaScript виконує код по черзі, рядок за рядком. Але деякі операції — наприклад, завантаження даних з сервера — займають час, і чекати їх завершення, повністю зупиняючи всю сторінку, було б незручно для користувача.
Асинхронність дозволяє запустити довгу операцію, продовжити виконання решти коду, а результат обробити, коли він буде готовий — без «зависання» інтерфейсу.
Promise — обіцянка майбутнього результату
Promise — це об'єкт, який представляє результат операції, яка ще не завершена. У нього три стани: очікування, успіх і помилка. Коли операція завершується, Promise «виконується» з результатом або помилкою.
async/await — зрозуміліший синтаксис
async/await — це спосіб працювати з промісами так, щоб код виглядав як звичайний послідовний код, а не вкладені один в одного обробники. Функція позначається словом async, а всередині неї await «чекає» результат, не блокуючи решту сторінки.
Часті запитання
Що далі
Розбери асинхронність без пропущених кроків
Безкоштовний курс JavaScript пояснює навіть складні теми на зрозумілих практичних прикладах.