Авторизация
Забыли пароль? Введите ваш е-мейл адрес. Вы получите письмо на почту со ссылкой для восстановления пароля.
После регистрации вы сможете задавать вопросы и писать свои ответы, получая за это бонусы. Все остальные функции на сайте доступны без регистрации.
Вы должны войти или зарегистрироваться, чтобы добавить ответ и получить бонусы.
Promise в JavaScript — это объект, который используется для выполнения асинхронных операций и управления их результатами. Он представляет собой обещание о том, что будет выполнено определенное действие и вернет результат в будущем.
Promise может находиться в трех состояниях:
1. Ожидание (pending): начальное состояние, когда операция все еще выполняется.
2. Выполнено (fulfilled): операция завершена успешно и возвращает результат.
3. Отклонено (rejected): операция завершена с ошибкой и возвращает ошибку.
Promise позволяет обрабатывать результаты асинхронных операций с использованием методов `then()` и `catch()`. Метод `then()` вызывается, когда операция успешно завершается, и возвращает результат. Метод `catch()` вызывается, когда операция завершается с ошибкой, и обрабатывает ошибку.
Пример использования Promise в JavaScript:
«`javascript
const fetchData = new Promise((resolve, reject) => {
// асинхронная операция
setTimeout(() => {
const data = ‘Данные успешно получены’;
resolve(data); // операция выполнена успешно
// reject(‘Ошибка при получении данных’); // операция завершена с ошибкой
}, 2000);
});
fetchData
.then(result => {
console.log(result); // выводит ‘Данные успешно получены’
})
.catch(error => {
console.error(error); // выводит ‘Ошибка при получении данных’
});
«`
В этом примере создается Promise `fetchData`, который выполняет асинхронную операцию (в данном случае, имитация задержки с помощью `setTimeout`). Если операция выполняется успешно, вызывается метод `resolve()` и передается результат. Если операция завершается с ошибкой, вызывается метод `reject()` и передается ошибка.
Затем, с помощью метода `then()`, обрабатывается успешное выполнение операции и выводится результат. Если операция завершается с ошибкой, используется метод `catch()`, чтобы обработать ошибку.