Ошибки и асинхронность

Раздел «Ошибки и асинхронность» объясняет, как JavaScript обрабатывает сбои и откладывает работу во времени. Сначала — синхронные ошибки и try/catch, затем колбэки и их ограничения, далее промисы, цепочки, статические методы Promise и синтаксис async/await. Завершает раздел краткий обзор микрозадач и макрозадач — без этого сложно понять порядок выполнения в браузере и Node.js.

Часто спрашивают

Что выбрать — then или async/await?
async/await обычно читается проще для последовательного кода; then удобен для коротких цепочек и комбинирования с Promise API. Подробнее
Чем Promise.all отличается от allSettled?
all падает при первой ошибке; allSettled дожидается всех и отдаёт статус каждого результата. Подробнее