Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

112
Vistas
Manipulación con búsqueda de múltiplos y luego

estoy aprendiendo promesas para la escuela y hay muchas cosas que no entiendo

 async function getCompanion(name){ const response = await fetch("https://rickandmortyapi.com/api/character/?name=" + name) if(response.status !== 200) throw `HTTP error: ${response.status}`; const data = response.json() return data .then((body) => { const [index] = body.results; const ceo = index.episode let friends = []; friends.push(ceo); return fetchAll(friends); }) .then((body2) => { const [index2] = body2; const ceo2 = index2.characters let friends2 = []; friends2.push(ceo2); //console.log(friends2) return fetchAll(friends2) }).then((body3) =>{ console.log(body3); }) .catch( (error) => { console.log(`Error: ${error}`) }) } async function fetchAll(urls){ const res = await Promise.all(urls.map(u => fetch(u))) const jsons = await Promise.all(res.map(r => r.json())) console.log(jsons) return jsons }

Lo que quiero hacer:

es una función asíncrona que cuando pasas un nombre obtienes el nombre de los compañeros que comparten un episodio con el nombre usado, mi problema es que el primero. Entonces funciona como quiero, obtengo los episodios donde participa el personaje, pero el segundo fetchAll no funciona, y no se porque, la idea es que el segundo fetchAll obtenga los datos de cada personaje en friends2

creo que mi código es un desastre, pero estoy empezando a aprender promesas, lo siento si el código es horrible

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

.then((body) => { const [index] = body.results; const ceo = index.episode let friends = []; friends.push(ceo); return fetchAll(friends); })

Haz este cambio y debería funcionar. fetchAll() es una función asíncrona que devuelve la promesa, ya sea que necesite esperar antes o simplemente devolverla directamente porque de todos modos no está usando esa constante de caracteres .

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda