Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

177
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!