Promise.resolve
Создаёт промис, который сразу выполнен с заданным значением.
Доступно с: ES2015
Синтаксис
Promise.resolve(value)Параметры
| Параметр | Тип | Описание |
|---|---|---|
| value | any | Значение, которым промис будет выполнен. |
Возвращаемое значение
PromiseУже выполненный промис.
Примеры
Готовый промис:
const promise = Promise.resolve('cached data');
console.log(await promise);Результат:
cached dataФункция, которая всегда возвращает промис:
const cache = new Map([['anna', { name: 'Anna' }]]);
function getUser(id) {
if (cache.has(id)) return Promise.resolve(cache.get(id));
return new Promise((resolve) => setTimeout(() => resolve({ name: 'Loaded' }), 50));
}
console.log((await getUser('anna')).name);
console.log((await getUser('oleg')).name);Результат:
Anna
LoadedПримечания
Если передать промис, он вернётся без изменений. Внутри async-функции Promise.resolve не нужен: любое возвращаемое значение и так оборачивается в промис.
См. также
- Promise.reject — Создаёт промис, который сразу отклонён с заданной ошибкой.
- Promise — Обещание результата, который будет готов позже: успех или ошибка.
В учебнике
- Промисы — Промисы в JavaScript: состояния промиса, then, catch, finally, создание промиса через new Promise и цепочки.