Sobes.tech
Back to questions
Middle+
2

Что такое Promise в JavaScript? Расскажите про состояния промиса и методы работы с ним.

Companies where asked
Лига Цифровой ЭкономикиЛига Цифровой Экономики

Answer from AI

sobes.tech AI

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

Состояния промиса:

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

Основные методы работы с Promise:

  • .then(onFulfilled, onRejected) — добавляет обработчики для успешного и ошибочного завершения.
  • .catch(onRejected) — добавляет обработчик ошибки (эквивалентно .then(null, onRejected)).
  • .finally(onFinally) — выполняет функцию после завершения промиса, независимо от результата.

Пример:

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

promise
  .then(result => console.log(result))
  .catch(error => console.error(error))
  .finally(() => console.log('Операция завершена'));