Что такое promise и какие состояния у него есть
Promise (обещание) — это объект, представляющий завершение (или неудачу) асинхронной операции и её результат. Он позволяет ассоциировать обработчики с асинхронным действием, тем самым избавляя от необходимости использовать обратные вызовы (callback-функции). Они упрощают работу с асинхронными операциями, такими как AJAX-запросы или чтение файлов, позволяя написать код, который проще понять и поддерживать.
Состояния:
1. Pending (Ожидание): Начальное состояние; асинхронная операция не завершена.
2. Fulfilled (Исполнено): Операция завершена успешно, и promise возвращает результат.
3. Rejected (Отклонено): Операция завершена с ошибкой, и promise возвращает причину отказа.
Пример:l
et обещание = new Promise(function(resolve, reject) {
// Эмуляция асинхронной операции, например, запроса к серверу
setTimeout(() => {
// Условие успешного выполнения операции
if (/* условие успеха */) {
resolve("данные получены");
} else {
reject("ошибка при получении данных");
}
}, 1000);
});
обещание.then(
function(результат) { console.log(результат); }, // обработчик успеха
function(ошибка) { console.log(ошибка); } // обработчик ошибки
);
Promise поддерживает цепочки вызовов (`then`), что позволяет организовывать асинхронный код последовательно и читабельно. Кроме того, существуют вспомогательные методы, такие как `Promise.all`, `Promise.race`, `Promise.resolve`, и `Promise.reject`, которые облегчают работу с группами асинхронных операций.
Promise — это способ организации асинхронного кода, который предоставляет более удобный и понятный интерфейс для работы с асинхронными операциями, чем традиционные callback-функции. У каждого обещания есть три состояния: ожидание, исполнено и отклонено, которые помогают управлять результатом асинхронных операций.
Feb. 22, 2024, easyoffer
Примеры ответов:
- Tech Interview Fest | Моковое cобесе…
- Tech Interview Fest | Пробное собесе…
- СОБЕСЕДОВАНИЕ на FRONTEND разработчи…
- Собеседование на JavaScript разработ…
- Собеседование на JavaScript разработ…
- Middle за год? Собеседование #3 fron…
- Талант в 18 лет? Собеседование #2 fr…
- СОБЕСЕДОВАНИЕ REACT Middle Frontend …
- #7 Первое собеседование Junior Front…
- #2 Собеседование смелого Frontend Mi…
- Frontend интервью. Ильнура, первая р…
- Собеседование cтажера Frontend разра…
- FRONT-END РАЗРАБОТЧИК: Как пройти СО…
- #1. Публичное собеседование JUNIOR F…