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

164
Views
Quiero ejecutar un código JavaScript sincrónicamente en reaccionar nativo

Estoy trabajando en un proyecto en el que recupero datos de una base de datos local usando SQLite, luego proceso los datos y finalmente uso los datos procesados en un método de cálculo.

El problema es que el código se ejecuta de forma asincrónica, por lo que cuando llamo al método de cálculo por primera vez, funciona antes que los métodos de recuperación y procesamiento, solo funciona en la segunda o tercera ejecución.

Tengo 4 métodos de recuperación:

 retrieve1(); retrieve2(); retrieve3(); retrieve4();

entonces quiero procesar los datos recuperados, así que tengo los siguientes métodos:

 processRetrieve1(); processRetrieve2(); processRetrieve3(); processRetrieve4();

finalmente quiero llamar al método de cálculo:

 Calculate();

¿Cómo puedo ejecutar este código en el siguiente orden? Métodos de recuperación -> Métodos de procesamiento -> Método de cálculo

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Si esos métodos funcionan de forma asíncrona, simplemente puede esperar a que devuelvan su salida usando await y agrupar las promesas con Promise.all de esta manera:

 const retrievePromises = [retrieve1(), retrieve2(), retrieve3(), retrieve4()] await Promise.all(retrievePromises) // Wait for all retrieve function to be resolved const processPromises = [processRetrieve1(), processRetrieve2(), processRetrieve3(),processRetrieve4()] await Promise.all(processPromises) // Wait for all processRetrieve function to be resolved await Calculate() // Will then wait for the calculate function to resolve

Para poder usar la palabra clave await , debe estar dentro del alcance de una función async , como esta:

 const asyncFunc = async () => { await Promise.all(...) }

Si desea obtener más información al respecto, le sugiero que lea más la documentación, y también puede leer este artículo .

Tenga en cuenta que Promise.all funciona de forma asíncrona, por lo que las promesas no se resolverán necesariamente en el mismo orden que en la matriz. Si el orden es importante, entonces debe esperar por cada función individual, como esta:

 await retrieve1(); await retrieve2(); ...
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!