Promise.withResolvers
Создаёт промис и отдаёт функции resolve и reject наружу.
Доступно с: ES2024
Синтаксис
Promise.withResolvers()Возвращаемое значение
objectОбъект с полями promise, resolve и reject.
Примеры
Выполнить промис из другого места кода:
const { promise, resolve } = Promise.withResolvers();
setTimeout(() => resolve('done'), 50);
console.log(await promise);Результат:
doneПримечания
Это короткая запись старого приёма, когда resolve сохраняли в переменную внутри new Promise(...). Удобно, когда промис выполняется по событию.
См. также
- Promise — Обещание результата, который будет готов позже: успех или ошибка.
- Promise.resolve — Создаёт промис, который сразу выполнен с заданным значением.
В учебнике
- Промисы — Промисы в JavaScript: состояния промиса, then, catch, finally, создание промиса через new Promise и цепочки.