Inicio > JAVASCRIPT > Promesas en javascript

PROMESAS EN JAVASCRIPT

02/10/2017JAVASCRIPT

 

Hace poco indagando por blogs de programación me encontré con un post sobre promesas en javascript y me sorprendió porque no sabía lo que era y empecé a buscar información sobre que es una promesa, para que servía y como se usaba, así que empecé a buscar información y ejemplos para entenderlo.
En programación una promesa se usa cuando se realiza una función asíncrona, el ejemplo más claro para javascript sería el uso de ajax y una promesa es un objeto que puede o no devolver algún valor en la línea de ejecución actual o más adelante.
El estado inicial de una promesa pending y si la llamada asíncrona se resuelve correctamente pasa a estado fullfilled y si ha habido un error pasará a estado rejected.
Siempre que se ha usado ajax se usan callbacks, es decir, que cuando se terminaba de ejecutar el ajax se llamaba a la función definida como callback. Una de las ventajas de usar promesas es que se evita lo que se conoce como Callback Hell, que consiste en tener muchas llamadas asíncronas y muchas llamadas a muchos callback.
Veamos un ejemplo de como usar promesas en javascript:

//Ejemplo de ajax sin promesas
$.get('http://...')
.done(function(data) {
// operaciones con data
})
.fail(function(error) {
// muestra el error
})

//Mismo ejemplo con promesas
fetch('http://...')
.then(function(response) {
// operaciones con response
})
.catch(function(error) {
// muestra el error
})

En una promesa puede haber varios .then por si se quieren tratar diferentes promesas.
Este ejemplo es bastante sencillo pero dichas promesas se pueden usar aparte de ajax y es bastante útil.