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