Métodos then y catch de JavaScript

| Última modificación: 25 de octubre de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

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 JavaScript 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 JavaScript 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:

//then.catch

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 Javascript

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 Javascript

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.

//promise.catch

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.

//javascript .then()

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!

Alberto Casero

Alberto Casero es CTO en Watium, Fundador de Kas Factory & Coordinador del Bootcamp en Desarrollo Web.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Desarrollo Web

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado