> Почему для обработки промисов используют конструкции вместо console.log напрямую (JavaScript)

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

Компании: витринатв

Стек: JavaScript

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

Использование console.log напрямую с промисами неэффективно, потому что промис - это асинхронная операция, а console.log выполняется синхронно. Если написать console.log(fetch(url)), вы увидите в консоли объект Promise в состоянии "pending", а не результат запроса. Для получения фактического значения нужно дождаться разрешения промиса.

Поэтому применяют конструкции .then() и .catch() или async/await. Например:

JAVASCRIPT
fetch(url)
.then(response => console.log(response))
.catch(error => console.error(error));

Или с async/await:

JAVASCRIPT
async function getData() {
try {
const response = await fetch(url);
console.log(response);
} catch (error) {
console.error(error);
}
}

Эти подходы гарантируют, что console.log выполнится только после завершения асинхронной операции, и вы получите актуальные данные или ошибку. Прямой вызов console.log(promise) бесполезен для отладки, так как не отражает конечный результат.

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

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