Métodos then y catch de JavaScript

Autor: | Última modificación: 16 de agosto de 2022 | Tiempo de Lectura: 3 minutos
Temas en este post:

Los objetos en JavaScript se caracterizan por tener distintas propiedades. Parte de estas propiedades son las funciones que nos permiten manipular el contenido de cada objeto: los métodos. En este post, te enseñaremos qué son y cómo funcionan los métodos then y catch de JavaScript, fundamentales para controlar qué sucede cuando una promesa es rechazada.

¿Qué son los métodos then y catch de JavaScript?

En nuestro post sobre las promesas en JavaScript, te explicamos cómo se genera un objeto promise en este lenguaje de programación. Sin embargo, las promesas no son solamente generadas, sino que, después, también deben tratarse. Para ello, utilizamos los métodos then y catch de JavaScript. Estos métodos son funciones que pertenecen específicamente al objeto promise.

Recuerda que llamamos métodos a las funciones que pertenecen a un objeto. Por tanto, del mismo modo que un array tiene a disposición métodos como map, forEach y filter, las promesas tienen a disposición los métodos then y catch.

Para ejemplificar qué son y cómo funcionan los métodos then y catch de JavaScript, utilizaremos la promesa creada en nuestro post anterior. Puedes verla a continuación:

function doYouLoveMe (name) {

return new Promise (function (resolve, reject) {

console.log (‘Let me think about it…’)

setTimeout (() => {

if (name = ‘Alberto’) {

resolve (‘Yes!’)

} else {

reject (‘Sorry but no…’)

}

}, 1000)

})

En las líneas de código anteriores, la función doYouLoveMe nos devuelve una nueva promesa. Esta nueva promesa tiene a nuestra disposición dos métodos:

A continuación, te explicamos cómo funcionan los métodos then y catch de JavaScript.

then

A la hora de tratar promesas, entraremos en el método then cuando esta promesa se resuelva satisfactoriamente. Como has podido leer en nuestro post sobre los estados de promesas en JavaScript, una promesa se llega a completar satisfactoriamente cuando hace uso de su función resolve.

catch

Del modo contrario al método then, obtendremos el método catch de una promesa cuando esta pase a ser completada y rechazada. En nuestro post sobre los estados de promesas en JavaScript, habrás visto que una promesa pasa a ser rechazada cuando utiliza su función reject.

¿Cómo usar los métodos then y catch de JavaScript?

Existen dos maneras de tratar una promesa con los métodos then y catch de JavaScript. Podemos hacerlo concatenando métodos, es decir, escribiendo primero el then y luego el catch, o podemos hacerlo escribiendo dos callbacks directamente dentro del método then.

A continuación, te mostramos cómo se escriben los métodos then y catch de JavaScript cuando son concatenados. Esto quiere decir que, como el método then nos devuelve la misma promesa, el método catch puede usar esta promesa para crear el error cuando las cosas no salen como deben.

const lovePromise = doYouLoveMe (‘Alberto’)

lovePromise.then = (response => {

console.log (response)

}) catch (error => {

console.error (error)

})

Ahora, también podemos crear el mismo resultado de las líneas de código anteriores al pasar dos callbacks por el método then. Entonces, el primer callback se usará para gestionar la response (cuando las cosas salen bien, resolve) y el otro para gestionar el error (cuando las cosas salen mal, reject).

const lovePromise = doYouLoveMe (‘Alberto’)

lovePromise.then (response => {

console.log (response)

}, error => {

console.error (error)

})

Lo que nos dice JavaScript a la hora de utilizar los métodos then y catch es que debemos llamar a la promesa y, usando el método then, pasamos una respuesta para cuando la promesa vaya bien. Después de definir esa respuesta con cualquier palabra, en nuestro caso response, la tratamos usando el arrow function.

promise.then (response => {

console.log (‘La promise funciona:’ , promise)

}).catch (error => {

console.log (La promise no funciona’ , error)

})

Te invitamos a leer nuestro post sobre cómo escribir un arrow function en JavaScript para conocer más sobre la sintaxis de funciones y métodos.

¿Quieres seguir aprendiendo?

Ahora que sabes qué son y cómo funcionan los métodos then y catch de JavaScript, te invitamos a seguir aprendiendo sobre este lenguaje de programación en nuestro Desarrollo Web Full Stack Bootcamp. Allí, además de aprender a dominar JavaScript, aprenderás sobre otros lenguajes de programación, como CSS y HTML. Así, te convertirás en un experto del desarrollo web en pocos meses. ¿A qué esperas para matricularte? ¡Hazlo ya y triunfa frente a tus competidores en el sector IT!

👉 Descubre más del Desarrollo Web Full Stack Bootcamp ¡Descarga el temario!

👉 Prueba el Bootcamp Gratis por una Semana ¡Empieza ahora mismo!

👉 Conoce nuestros otros Bootcamps en Programación y Tecnología

[email protected]

¿Sabías que hay más de 40.000 vacantes para desarrolladores de software sin cubrir en España? 

En KeepCoding llevamos desde 2012 guiando personas como tú a áreas de alta empleabilidad y alto potencial de crecimiento en IT con formación de máxima calidad.

 

Porque creemos que un buen trabajo es fuente de libertad, independencia, crecimiento y eso ¡cambia historias de vida!


¡Da el primer paso! 

¿Sabías que hay más de 40.000 vacantes para desarrolladores web sin cubrir en España? 

En KeepCoding llevamos desde 2012 guiando personas como tú a áreas de alta empleabilidad y alto potencial de crecimiento en IT con formación de máxima calidad.

 

Porque creemos que un buen trabajo es fuente de libertad, independencia, crecimiento y eso ¡cambia historias de vida!


¡Da el primer paso!