Callback
Callback — это механизм обратного вызова, при котором функция или действие передаётся как аргумент другой функции и выполняется позже — в нужный момент. Callback широко используется в программировании, веб-разработке, обработке событий, API и асинхронных операциях.
Что такое callback
Callback (обратный вызов) — это функция, которую передают другой функции, чтобы та вызвала её позже, после выполнения определённого действия.
Основная идея: вы заранее передаёте «что нужно сделать», и система выполнит это действие, когда наступит подходящее событие.
Пример:
После отправки запроса на сервер callback-функция выполнится, когда придёт ответ.
Зачем нужен callback
Callbacks позволяют:
- управлять последовательностью операций
- обрабатывать результаты асинхронных действий
- реагировать на события (клики, загрузка страницы, ошибки)
- создавать гибкие и расширяемые программы
- разделять логику и повышать читаемость кода
Где используются callback’и
- JavaScript
Самая распространённая область.
Пример: обработка клика по кнопке, обработка данных после AJAX-запроса.
- Node.js
Callbacks используются для работы с файлами, сетевыми запросами и потоками.
- API и веб-хуки
Сервер вызывает callback-URL при наступлении события (например, подтверждение оплаты).
- Событийные системы
Игры, интерфейсы, приложения реагируют на действия пользователя.
- Фильтры и middleware
Например, в Express.js или Laravel.
Простой пример callback в JavaScript
function greet(name, callback) {
console.log(«Привет, » + name);
callback();
}
function sayBye() {
console.log(«Пока!»);
}
greet(«Андрей», sayBye);
Результат:
Привет, Андрей
Пока!
Асинхронный пример с сервером
setTimeout(() => {
console.log(«Загрузка завершена»);
}, 2000);
Функция внутри setTimeout — это callback, который выполнится позже (через 2 секунды).
Проблемы callback’ов
Callback Hell
Сложно читаемые вложенные функции:
doA(function() {
doB(function() {
doC(function() {
doD();
});
});
});
Решение:
- Promises
- async/await
- чистая архитектура
Преимущества callback
- высокая гибкость
- упрощение обработки событий
- возможность асинхронного программирования
- уменьшение дублирования кода
Недостатки
- риск «callback hell»
- сложнее отлаживать
- может появиться неконтролируемый поток вызовов
Callback в бизнесе и маркетинге (дополнительно)
Слово “callback” иногда используется и в другом значении — обратный звонок.
Например, кнопка «Перезвоните мне» на сайте. Это другое значение термина, но оно тоже является одной из разновидностей “обратного вызова”.
Итог
Callback — это функция или действие, передаваемое для выполнения позже, после наступления определённого события или завершения операции. Это важная часть асинхронного программирования и событийных систем.

