Promise.resolve() / Promise.reject()
snippetJavaScript
Promise.resolve("ok").then(v => console.log(v));Promise.reject(new Error("fail")).catch(e => console.log(e.message));
Promise.all() — todas ou fail-fast
snippetJavaScript
Promise.all([p1, p2, p3]).then(([a, b, c]) => console.log(a, b, c));// Qualquer reject → rejeita imediatamente// [] → resolve com []
Promise.allSettled() — todas, sem curto-circuito
snippetJavaScript
Promise.allSettled([p1, p2]).then(r => { // [{ status: "fulfilled", value }, { status: "rejected", reason }]});
Promise.race() — primeira a settled
snippetJavaScript
Promise.race([fetch(url), timeout(5000)]);// [] → pending para sempre (bug comum)
Promise.any() — primeira fulfilled
snippetJavaScript
Promise.any([p1, p2]).then(v => console.log(v));// Todas reject → AggregateError// [] → AggregateError imediato
| Método | Fulfill quando | Reject quando |
|---|
all | TODAS | QUALQUER |
allSettled | TODAS settled | Nunca |
race | Primeira settled | Primeira settled |
any | QUALQUER fulfill | TODAS reject |
Promise.withResolvers() (ES2024)
snippetJavaScript
const { promise, resolve, reject } = Promise.withResolvers();setTimeout(() => resolve("Pronto!"), 1000);
Promise.try() (Baseline 2025)
Envolve função sync ou async — captura throws síncronos que Promise.resolve(fn()) não pega:
snippetJavaScript
Promise.try(() => processar()).catch(tratarErro);Promise.try(buscarUsuario, userId);