Resumen de la clase:
Encadenar Promesas
Encadenar promesas es mucho más limpio que con el método anterior.
Primero escribimos la invocación de la promesa con un arrow function:
obtenerPersonaje(1)
.then( personaje => {
console.log(personaje.name)
})
.catch(onError)
Al resolver esta promesa vamos a retornar otra promesa invocando dentro del .then nuevamente la función obtenerPersona() con el id del siguiente personaje:
obtenerPersonaje(1)
.then( personaje => {
console.log(personaje.name)
return obtenerPersona(2)
})
.catch(onError)
Y para obtener los valores de esta promesa encadenamos otro .then y copiamos la función parámetro cambiando el valor del id.
obtenerPersonaje(1)
.then( personaje1 => {
console.log(personaje1.name)
return obtenerPersona(2)
})
.then( personaje2 => {
console.log(personaje2.name)
return obtenerPersona(3)
})
.then( personaje3 => {
console.log(personaje3.name)
return obtenerPersona(4)
})
.
.
.
.catch(onError)
Ahora es mucho más legible y si cualquiera de estas promesas da un error funciona el mismo .catch para todos.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?