Resumen de la clase
Manejo del Orden y el Asincronismo de JavaScript
Agregamos primero otro parámetro a la función obtenerPersonaje().
obtenerPersonaje(id, callback)
Movemos la variable de la función al $.get.
$.get(url, opts, function(people){
console.log(people.name)
})
Si queremos que lleguen en orden tenemos que hacer los requests uno después del otro y no en paralelo como los veníamos haciendo.
Para eso usamos el segundo parámetro en la función.
function obtenerPersonaje(id, callback) {
const url = `${API_URL}${PEOPLE_URL.replace(':id', id)}`
$.get(url, opts, function(people){
console.log(people.name)
})
if(callback) {
callback()
}
}
Así podemos invocar la función del callback de la siguiente manera:
obtenerPersonaje(1, function() {
obtenerPersonaje(2, function() {
obtenerPersonaje(3, function() {
obtenerPersonaje(4)
})
})
})
Pero esto trae la problemática del anidamiento infinito llamado CallbackHell.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?