Асинхронное программирование JavaScript [Андрей Кобец]

Bot

Администратор
Команда форума
23 Янв 2020
208,706
3,150
113

Складчина: Асинхронное программирование JavaScript [Андрей Кобец]​

2026-05-16_19-31-47.png

Иногда на просторах интернета встречаются глупости про JavaScript — мол, смешной язык со своими «онкликами и колбэками». Чаще всего такое пишут люди, не погружённые в контекст JS, либо просто невежественные.
Но дыма без огня не бывает. На чём же основана такая критика?

Мы знаем, что асинхронный подход куда эффективнее в задачах с большой долей ввода-вывода (I/O). В таком супер-интерактивном приложении, как браузер, работа с I/O занимает львиную часть. Поэтому создатели браузеров приняли единственно верное решение и взяли за основу именно асинхронный подход.

Однако проблема в том, что асинхронное программирование без специальной инфраструктуры практически моментально скатывается в «вермишель» из вложенных друг в друга колбэков.

Сейчас эти проблемы решаются с помощью:

  • промисов
  • асинхронных итераторов и потоков данных
  • async/await и top await
Но у любой абстракции есть своя цена. В случае с JS мы платим сразу двумя «валютами»: сложностью входа (все эти таски, микротаски, Event Loop и переполненные очереди) и производительностью.
Поэтому даже начинающему специалисту нужно крепко разбираться в нюансах и подводных камнях этих абстракций. Без этого асинхронность остаётся «магией, которая иногда работает», а её цена превращается в головную боль, а не в осознанный выбор.

Чтобы закрыть этот пробел и превратить сложность в понятную, управляемую силу, на следующей неделе проведу небольшой live-интенсив. Интенсив посвящён детальному изучению асинхронного программирования в JavaScript, включая всесторонний разбор Promise Api — но не ограничиваясь только им.

Мы разберём:

  • нюансы реализации Event Loop в браузере и Node.js
  • подводные камни и узкие места для производительности
  • паттерны достижения многозадачности и отзывчивости интерфейса
Материал — абсолютный мастхэв для джунов и выше. Но гарантирую: даже опытный мидл узнает много нового.
Каждая лекция — это важный пазл общей картины. Я постарался сделать программу так, чтобы она не вызывала информационного взрыва, а плавно вела по теме.
Программа:

Асинхронное программирование в JS:

  • Колбэки и промисы
  • Event Loop: как всё это крутится
  • Таски и микротаски
  • Асинхронность и параллельность
Глубокое погружение в Promise:
  • Способы создания, выстраивание цепочек, обработка ошибок
  • Концепция Thenable-объектов
  • Сложные композиции
  • Отмена промисов
Асинхронная синхронность:
  • Конечные автоматы, сопрограммы и async/await
  • Асинхронные модули и top await
  • Асинхронные итераторы и for await
  • Нюансы и баги
Цена 4500 руб.
Скрытая ссылка