Хорошая статья о том, как реализована асинхронность в JavaScript, когда и для чего её использовать
Содержание статьи:
⏩Синхронный код и его проблемы
⏩Асинхронный код
⏩Стек вызовов
⏩Цикл событий
⏩Колбэки
⏩Промисы (Promise)
⏩Асинхронные функции
— Связка async/await
— Плюсы async/await
Пару фактов из статьи:
⏩Асинхронный код включает функции обратного вызова (колбэки), которые вызываются в ответ на события.
⏩Ад колбэков — проблема, связанная с использованием большого количества обратных вызовов в асинхронном коде.
⏩Промисы — объект-обёртка для асинхронного кода, который содержит состояние и работает аналогично колбэкам.
⏩Асинхронные функции — функции, которые возвращают промисы и могут быть вызваны с помощью ключевого слова
await.⏩Связка
async/await позволяет писать более чистый и короткий код, а также обрабатывать ошибки с try-catch.⏩В Node.js и некоторых браузерах есть
setImmediate(), который выполняет почти то же, что и setTimeout() с нулевым таймером.⏩
Promise.all() и Promise.race() используются для ожидания выполнения всех запросов или ожидания выполнения первого запроса из списка.⏩Для обхода асинхронных итерируемых сущностей можно использовать
for await...of.📎 Статья
@javascriptv


