Pero ahora tenemos una API promise nativa que podemos usar. Su uso es muy sencillo:
var promise = new Promise(function(resolveFn, rejectFn) { //you can do here operations and later decided if resolve or reject the promise //using the objects setTimeout(function() { resolveFn(10); }, 3000); }); //when is resolve promise.then(function(result) { console.log(result); }); //when is rejected promise.catch(function(result) { console.log(result); });
Despues de haber instanciado el objecto "Promise" tienes los metodos "resolveFn" y "rejectFn" los cuales puedes ejecutar cuando tu quieras en un futuro, los cuales van a ejecutar los metodos pasados a "then" y "catch".
Un interesante metodo de "Promise" es "all", el cual recibe un arreglo de promesas y ejecuta "then" cuando todas han sido "resolve".
Promise.all([promise1, promise2]).then(function(results) { // Both promises resolved }) .catch(function(error) { // One or more promises was rejected });
Link
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise
https://davidwalsh.name/promises
No hay comentarios:
Publicar un comentario