Middle+
¿Cómo hacer que la construcción try/catch funcione con Promise? ¿Cómo hacer que Promise sea sincrónico usando async/await?
sobes.tech AI
Respuesta de la IA
Чтобы конструкция try/catch работала с Promise, нужно использовать ключевые слова async/await. Обычные Promise обрабатываются через методы .then() и .catch(), но для удобства и более читаемого кода можно обернуть вызов Promise в async функцию и использовать await, что позволяет писать асинхронный код в синхронном стиле.
Пример:
async function fetchData() {
try {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
console.log(data);
} catch (error) {
console.error('Ошибка при загрузке данных:', error);
}
}
fetchData();
Здесь await "приостанавливает" выполнение функции до завершения Promise, а ошибки, возникающие внутри Promise, ловятся в блоке catch. Таким образом, Promise становится "синхронным" по восприятию, хотя под капотом остаётся асинхронным.