> Как реализовать функцию auth через колбек в JavaScript (JavaScript)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: Яндекс
Стек: JavaScript
> Пример ответа
Реализация аутентификации через колбек в JavaScript - это классический подход, основанный на передаче функции, которая будет вызвана после завершения асинхронной операции (например, запроса к серверу). Вот пример:
JAVASCRIPTfunction authenticate(username, password, callback) {// Имитация асинхронного запроса к серверуsetTimeout(() => {if (username === 'admin' && password === '12345') {callback(null, { id: 1, name: 'Admin' }); // успех} else {callback(new Error('Неверные учетные данные'), null); // ошибка}}, 1000);}// Использованиеauthenticate('admin', '12345', (err, user) => {if (err) {console.error('Ошибка аутентификации:', err.message);return;}console.log('Пользователь авторизован:', user);});
Ключевые моменты:
-
Колбек принимает два параметра: первый - ошибка (если есть), второй - результат.
-
Функция
authenticateне возвращает значение напрямую, а вызывает колбек по завершении. -
Этот паттерн был популярен до появления промисов и async/await, но до сих пор встречается в старом коде или библиотеках.
Для обработки ошибок и результатов используйте соглашение "error-first" (первый аргумент - ошибка, второй - данные).
> Похожие задачи по frontend
Как работает конструктор Promise, синхронность создания и асинхронность резолва в JavaScript
Что такое метод map в JavaScript и как он работает
Что делать чтобы не блокировать основной поток при обработке большого массива без использования web workers
Почему страница зависает при обработке большого массива в JavaScript
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью