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

179
Vistas
Función de devolución de llamada que devuelve la promesa en lugar del valor

Estoy usando fetch para obtener datos de un archivo json. En un .then(), llamo a una devolución de llamada para hacer algo con esos datos y, finalmente, devuelvo el valor final de la devolución de llamada. El problema es que, cuando regreso, devuelve una promesa en lugar del valor final. Revisé otras preguntas similares y pensé que tenía los conceptos asincrónicos, pero todavía estoy atascado en esto. ¿Se me escapa algo?

 const func = (callback) => { fetch('https://asdf.json') .then(response => { return response.json(); }) .then(data => { return callback(data) } } const callBack = (parsedData) => { //do something to get finalValue return finalValue } func(callBack);

Debo agregar que intenté simplemente llamar a callback(data) sin el retorno, pero esto simplemente devolvió indefinido.

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

0

fetch devuelve una promesa, por lo que debe usar async/await o then() para que funcione correctamente. Por ejemplo:

 const func = (callback) => { return fetch('asdf.json') .then(response => { return response.json(); }) .then(data => { return callback(data) }) } const callBack = (parsedData) => { //do something to get finalValue return parsedData; } const main = async () => { console.log(await func(callBack)); } main();

Usando entonces():

 const func = (callback) => { return fetch('asdf.json') .then(response => { return response.json(); }) .then(data => { return callback(data) }) } const callBack = (parsedData) => { //do something to get finalValue return parsedData; } func(callBack).then(response=> { console.log(response); })
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