Las promesas nacen para modelar operaciones asíncronas de forma más clara que callbacks anidadas.
Una promesa representa un resultado futuro con tres estados:
pending (pendiente)fulfilled (resuelta)rejected (rechazada)resolve y reject son los dos caminos posibles.
Con promesas separas:
Eso te da código más mantenible y encadenable.
fetch devuelve una promesa.
Por eso entender esta clase te prepara directamente para consumir endpoints.
new Promiseresolve y rejectPromesas son contratos: “te entregaré un resultado, o te diré por qué fallé”.