Проверяет понимание асинхронного выполнения в JavaScript и необходимости использования await для получения результата промиса внутри async-функции.
В JavaScript async-функции всегда возвращают Promise. Когда вы вызываете промис без await, функция не ждёт его завершения — она сразу переходит к следующей строке кода. Это связано с тем, что await приостанавливает выполнение функции до тех пор, пока промис не будет разрешён (fulfilled) или отклонён (rejected). Без await промис просто запускается, но его результат не извлекается.
async function fetchData() {
const data = fetch('https://api.example.com/data');
console.log(data); // Promise {<pending>}
// Функция не ждёт ответа
}
async function fetchDataCorrect() {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
console.log(data); // Фактические данные
}Это критично при работе с API, базами данных, файловой системой — везде, где нужен результат асинхронной операции. Без await код может выполняться в неправильном порядке, вызывая ошибки или undefined.
Используйте await внутри async-функций для получения фактического значения промиса. Это делает асинхронный код линейным и предсказуемым, упрощая отладку и поддержку.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию