Sobes.tech
Back to questions
Junior — Middle
87

Можешь объяснить, что такое Promise и как он используется в асинхронном программировании?

Companies where asked
СБЕРСБЕР

Answer from AI

sobes.tech AI

Promise — это объект в JavaScript, который представляет результат асинхронной операции, которая может завершиться успешно или с ошибкой в будущем. Promise позволяет писать асинхронный код более читаемо, избегая «ад колбеков».

Promise имеет три состояния:

  • pending (ожидание) — начальное состояние,
  • fulfilled (выполнено) — операция завершилась успешно,
  • rejected (отклонено) — операция завершилась с ошибкой.

Использование Promise позволяет цепочкой вызывать методы .then() для обработки успешного результата и .catch() для обработки ошибок.

Пример:

function fetchData() {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      const success = true;
      if (success) {
        resolve('Данные получены');
      } else {
        reject('Ошибка при получении данных');
      }
    }, 1000);
  });
}

fetchData()
  .then(result => {
    console.log(result); // 'Данные получены'
  })
  .catch(error => {
    console.error(error);
  });

Таким образом, Promise помогает управлять асинхронными операциями и их результатами более удобно и понятно.