Что такое Promise, методы Promis'ов + async await
Promise — это объект в JavaScript, который представляет собой результат асинхронной операции. Он позволяет работать с асинхронным кодом более удобно и читабельно, чем использование колбеков. Promise может находиться в одном из трех состояний:
1. Ожидание (Pending): начальное состояние, ни выполнено, ни отклонено.
2. Выполнено (Fulfilled): операция завершилась успешно.
3. Отклонено (Rejected): операция завершилась с ошибкой.
Вы можете создать новый объект Promise, передав в конструктор функцию с двумя параметрами: resolve и reject.
const myPromise = new Promise((resolve, reject) => {
const success = true; // Имитация успешного выполнения
1. then(): используется для обработки успешного результата. Возвращает новый Promise.
2. catch(): используется для обработки ошибок, произошедших в процессе выполнения Promise.
3. finally(): выполняется после завершения Promise, независимо от того, был он выполнен или отклонен.
console.log("Завершение операции."); // Выполнится в любом случае
return new Promise((resolve, reject) => {
const data = { name: "John", age: 30 };
async/await — это синтаксический сахар для работы с Promise, который делает код более читабельным и линейным.
• async: перед функцией указывает, что функция будет асинхронной и будет возвращать Promise.
• await: используется для ожидания завершения Promise. Это можно использовать только внутри асинхронной функции.
const data = await fetchData(); // Ждем, пока fetchData выполнится
console.log(data); // Вывод: { name: "John", age: 30 }
console.error(error); // Обработка ошибок
console.log("Завершение операции."); // Выполнится в любом случае
Promise и async/await позволяют эффективно управлять асинхронными операциями в JavaScript. Использование Promise упрощает обработку результатов асинхронных операций, а async/await делает код более понятным и легким для чтения, позволяя писать асинхронный код в стиле синхронного.