Вопрос проверяет понимание принципов работы с асинхронным кодом в JavaScript, что необходимо для написания эффективных и неблокирующих веб-приложений.
Ключевые слова async и await представляют собой синтаксический сахар над промисами в JavaScript, введённый в ES2017. Они позволяют писать асинхронный код так, как если бы он был синхронным, что значительно улучшает читаемость и поддерживаемость.
Когда вы объявляете функцию с ключевым словом async, она автоматически возвращает промис. Внутри такой функции вы можете использовать оператор await перед промисом. Выполнение функции приостанавливается на этом месте до тех пор, пока промис не будет разрешён (fulfilled) или отклонён (rejected), но при этом основной поток выполнения (event loop) не блокируется, и другие задачи могут выполняться.
Рассмотрим простой пример получения данных с сервера:
async function fetchUserData(userId) {
try {
const response = await fetch(`https://api.example.com/users/${userId}`);
if (!response.ok) {
throw new Error('Ошибка сети');
}
const user = await response.json();
console.log(user);
return user;
} catch (error) {
console.error('Не удалось загрузить данные:', error);
}
}
// Вызов функции
fetchUserData(1).then(user => console.log('Пользователь получен:', user));Этот подход широко используется в современных веб-приложениях для:
Вывод: Используйте async/await для упрощения асинхронного кода, особенно когда нужно последовательно выполнять несколько зависимых операций или когда важна читаемость и удобство обработки ошибок.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию