JavaScript · Avançado · Inglês · Técnico
Promise.withResolvers
Função estática que devolve um objeto com uma promise e as funções resolve e reject separadas, sem exigir um executor. Chegou ao ES2024.
Onde usar
Útil para resolver uma promise de fora do callback, como em filas, eventos e testes. Em code review, substitui o padrão antigo de guardar o resolve numa variável externa.
Em código
const { promise, resolve } =
Promise.withResolvers();
setTimeout(() => resolve('pronto'), 100);
console.log(await promise); // em módulo ESExemplos
Promise.withResolvers replaces the outer resolve variable trick.
Promise.withResolvers substitui o truque da variável externa de resolve.
I resolve the promise from an event handler outside the executor.
Resolvo a promise a partir de um handler de evento, fora do executor.
Cuidado
Usar em ambientes antigos sem polyfill: exige Node 22 ou navegadores recentes.