Promise
Un objeto de JavaScript que representa un valor futuro, como el resguardo que te dan al pedir y que canjeas cuando la comida está lista.
Tiene tres estados: pending mientras espera, fulfilled cuando termina con un valor y rejected cuando termina con un error. Se encadena con .then() y .catch(), o se usa con el más moderno async/await.
Resuelve el infierno de retrollamadas anidadas y permite escribir código asíncrono que se lee en orden. Es la base de todo el JavaScript asíncrono actual.