Sobes.tech
Middle+

Kaip padaryti, kad try/catch struktūra veiktų su Promise? Kaip padaryti Promise sinchroniniu naudojant async/await?

sobes.tech AI

Atsakymas iš 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 становится "синхронным" по восприятию, хотя под капотом остаётся асинхронным.