Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

113
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda