jueves, 29 de diciembre de 2016

Entendiendo la Promise API

Las promesas son ahora la manera preferida de trabajar y en el futuro sera muy pocos los casos en los que necesitaras una callback. jQuery tiene su propio sistema de promesas.

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