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

110
Views
Cómo incorporar continuamente en un bucle y consulta de datos de blockchain en javascript

Soy nuevo en javascript y estoy tratando de consultar algunos datos de blockchain. Puedo consultar los datos con éxito cuando solo consulto una vez. Pero me gustaría hacer esto continuamente .

Cuando uso el bucle while en un esfuerzo por ejecutar continuamente la consulta, no recupera datos.

Intenté usar un bucle for con un rango de 100 y veo que parece esperar hasta que se encuentren los 100 puntos de datos antes de regresar.

Supongo que está haciendo algo similar con mi ciclo while y, por lo tanto, no devuelve nada debido a su naturaleza infinita. He hecho esto en python pero parece que tengo problemas con javascript.

Mi código está abajo.

 const { LCDClient } = require('@terra-money/terra.js'); const terra = new LCDClient({ //URL: 'https://bombay-lcd.terra.dev', //chainID: 'bombay-12', URL: 'https://lcd.terra.dev', chainID: 'columbus-5' }); const contract = 'terra1a8k3jyv3wf6k3zngza5h6srrxcckdf7zv90p6u'; const pair_address = 'terra19l0hnypxzdrp76jdyc2tjd3yexwmhz3es4uwvz'; const query_msg = {"simulation": {"offer_asset": {"amount": "1", "info": {"token": {"contract_addr": contract}}}}}; while (true) { terra.wasm.contractQuery(pair_address, query_msg).then(result => { console.log(result); }) }
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

El tiempo de ejecución de javascript es un hilo , tiene un bucle de eventos que ejecutará varias colas en el siguiente orden:

  • pila de llamadas
  • tareas de macros
  • micro tareas

cuando está en un ciclo while infinito , la ejecución del código nunca * terminará la ejecución de la pila de llamadas y pasará al siguiente paso.

la ejecución de los oyentes de promesas (entonces) está en la cola de micro tareas . por lo que nunca llegaría allí.

todo esto se debe a que el tiempo de ejecución de javascript es de un solo hilo.

No debe usar el bucle while(true) , incluso en otros idiomas, se ejecutará infinitamente y estará ocupado en uno de sus núcleos de CPU

Recomiendo usar The setInterval() en lugar de while(true) , si desea sondear una fuente de datos en busca de cambios.

 setInterval( () => { terra.wasm.contractQuery(pair_address, query_msg).then(result => { console.log(result); }); }, 5000);
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!