> Что такое функция обратного вызова (callback) и когда она вызывается в JavaScript (JavaScript)
Уровень: junior · Роль: frontend · Категория: Технические вопросы
Компании: Kaspersky
Стек: JavaScript
> Пример ответа
Функция обратного вызова (callback) - это функция, которая передается в другую функцию в качестве аргумента и вызывается внутри этой внешней функции для завершения некоторого действия или обработки результата. В JavaScript callback-и вызываются в двух основных сценариях:
-
Синхронные callback-и - вызываются немедленно внутри функции, например, при использовании
Array.prototype.forEach()илиArray.prototype.map(). Они выполняются в том же потоке, что и основной код. -
Асинхронные callback-и - вызываются после завершения асинхронной операции, такой как чтение файла, HTTP-запрос (
fetch,XMLHttpRequest) или таймер (setTimeout,setInterval). В этом случае callback помещается в очередь задач (callback queue) и выполняется после того, как стек вызовов освободится, что позволяет не блокировать основной поток выполнения.
Пример:
JAVASCRIPT// Асинхронный callbackfunction 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.
> Похожие задачи по frontend
Если объект является экземпляром класса и методы лежат в прототипе, где их увидим: в for-in или Object.keys
Какие данные остаются после преобразования типов в JavaScript и когда оно происходит
Как называется подход, когда обработчик клика вешается на контейнер, а событие обрабатывается на дочерних элементах
Как перехватывать ошибки в промисах и чем это отличается от try-catch
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью