> Когда вызывается колбэк в JavaScript и что его триггерит (JavaScript)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: IT-One
Стек: JavaScript
> Пример ответа
Колбэк (callback) в JavaScript вызывается в момент, когда завершается выполнение асинхронной операции или когда наступает определённое событие, на которое он был подписан. Триггером может быть:
-
Завершение асинхронной операции - например, после успешного выполнения
setTimeout,setInterval,fetch, чтения файла в Node.js (черезfs.readFile). Колбэк помещается в очередь задач (task queue) и вызывается после того, как стек вызовов (call stack) освободится. -
Событие DOM - клик (
click), наведение (mouseover), отправка формы (submit) и т.д. Колбэк регистрируется черезaddEventListenerи вызывается при возникновении события в фазе всплытия или перехвата. -
Промисы и микротаски - колбэки
.then(),.catch(),.finally()вызываются после разрешения промиса, но с более высоким приоритетом, чем обычные макрозадачи (например,setTimeout). -
Обработчики ошибок - например, колбэк в
try...catchили вwindow.onerrorвызывается при возникновении исключения.
Важно: колбэк не вызывается мгновенно - он попадает в очередь событий (event loop) и выполняется только после того, как текущий синхронный код завершится.
> Похожие задачи по frontend
Для чего используется метод reverse у массивов в JavaScript
Можно ли читать cookies из клиентского JavaScript
Работали ли вы с фреймворком Electron?
Почему sleep(100) отработает примерно через 100 мс и может ли быть 99 мс?
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью