Middle+
Come far funzionare try/catch con Promise? Come rendere Promise sincrono usando async/await?
sobes.tech AI
Risposta dell'AI
Чтобы конструкция 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 становится "синхронным" по восприятию, хотя под капотом остаётся асинхронным.