> Когда вызывается колбэк в JavaScript и что его триггерит (JavaScript)

Уровень: senior · Роль: frontend · Категория: Технические вопросы

Компании: IT-One

Стек: JavaScript

> Пример ответа

Колбэк (callback) в JavaScript вызывается в момент, когда завершается выполнение асинхронной операции или когда наступает определённое событие, на которое он был подписан. Триггером может быть:

  1. Завершение асинхронной операции - например, после успешного выполнения setTimeout, setInterval, fetch, чтения файла в Node.js (через fs.readFile). Колбэк помещается в очередь задач (task queue) и вызывается после того, как стек вызовов (call stack) освободится.

  2. Событие DOM - клик (click), наведение (mouseover), отправка формы (submit) и т.д. Колбэк регистрируется через addEventListener и вызывается при возникновении события в фазе всплытия или перехвата.

  3. Промисы и микротаски - колбэки .then(), .catch(), .finally() вызываются после разрешения промиса, но с более высоким приоритетом, чем обычные макрозадачи (например, setTimeout).

  4. Обработчики ошибок - например, колбэк в try...catch или в window.onerror вызывается при возникновении исключения.

Важно: колбэк не вызывается мгновенно - он попадает в очередь событий (event loop) и выполняется только после того, как текущий синхронный код завершится.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью