</> Praktum

Главная / JavaScript / Promise в JavaScript

Справочник JavaScript

Promise: результат, который появится позже

Promise представляет будущий результат операции. Он начинается в pending и один раз переходит либо в fulfilled со значением, либо в rejected с ошибкой.

Рабочий пример

const wait = (ms) => new Promise((resolve) => {
  setTimeout(resolve, ms);
});

wait(500)
  .then(() => "Готово")
  .then(console.log)
  .catch(console.error);

Каждый then возвращает новый Promise, поэтому операции можно связывать. Ошибка или reject передаются к ближайшему catch, а finally выполняется независимо от результата.

Когда применять

На практике Promise возвращают fetch и многие браузерные API. Не оборачивай в новый Promise функцию, которая уже его возвращает.

Проверь пример самостоятельно: измени исходные данные, убери одну строку и сравни результат. Такой короткий эксперимент помогает увидеть роль каждого свойства или метода и не превращает обучение в механическое копирование.

Частые ошибки

  • Не возвращать Promise из then
  • Создавать new Promise без необходимости
  • Проглатывать ошибку пустым catch

Задание

Напиши функцию задержки и последовательно выведи три сообщения с интервалом в полсекунды.

Проверка: результат должен работать с клавиатуры, не создавать ошибок в консоли и оставаться понятным без пояснений автора.

Ещё в разделе JavaScript