> Что такое функция обратного вызова (callback) и когда она вызывается в JavaScript (JavaScript)

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

Компании: Kaspersky

Стек: JavaScript

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

Функция обратного вызова (callback) - это функция, которая передается в другую функцию в качестве аргумента и вызывается внутри этой внешней функции для завершения некоторого действия или обработки результата. В JavaScript callback-и вызываются в двух основных сценариях:

  1. Синхронные callback-и - вызываются немедленно внутри функции, например, при использовании Array.prototype.forEach() или Array.prototype.map(). Они выполняются в том же потоке, что и основной код.

  2. Асинхронные callback-и - вызываются после завершения асинхронной операции, такой как чтение файла, HTTP-запрос (fetch, XMLHttpRequest) или таймер (setTimeout, setInterval). В этом случае callback помещается в очередь задач (callback queue) и выполняется после того, как стек вызовов освободится, что позволяет не блокировать основной поток выполнения.

Пример:

JAVASCRIPT
// Асинхронный callback
function fetchData(callback) {
setTimeout(() => {
const data = { id: 1, name: 'Alice' };
callback(data); // вызывается после 1 секунды
}, 1000);
}
fetchData((result) => {
console.log(result); // { id: 1, name: 'Alice' }
});

Callback-и широко применяются для обработки событий (клики, нажатия клавиш) и работы с асинхронными API, однако их чрезмерное использование может привести к "callback hell" (вложенности), что решается с помощью промисов и async/await.

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

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