Las promesas nos dan la posibilidad de realizar alguna acción cuando una tarea asíncrona es finalizada, viene con el ecmascript 6.
Cuando se crea una promesa, esta devuelve dos valores, dependiendo de si fue exitosa o no, por convención estos valores se llaman ‘resolve’ (cuando fue exitoso) y ‘reject’ (cuando fallo), –esto no significa que estas obligado a usar esas palabras, al final puedes usar las que mas te gusten-, pero por convención se utilizan así, veamos un ejemplo
Ejemplo:
let miPromesa = new Promise(function(resolve, reject){ setTimeout(function(){ console.log(“La promesa ha terminado”); resolve(); //significa que todo salio bien //se utiliza en caso de que no haya salido bien //reject(); }, 2000); })
Al llamar a una promesa, se puede obtener el resultado de ella poniendo la palabra reservada ‘then’ la cual contiene los dos posibles valores (resolve y reject), pudiendo nosotros controla que pasa cuando se recibe uno u otro resultado.
miPromesa.then( function(){ console.log(“Hola todo salio bien”); }, function(){ console.error(“Lo siento, salio mal”); } );
La gran ventaja de las promesas es que las acciones se realizan hasta que la promesa termine y que podemos saber si la promesa tuvo éxito o no y en base a ello, poder realizar una acción definida.