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

134
Visualizações
Quiero usar un valor de retorno prometido dentro del método get. api de descanso de nodejs

Estoy creando una API de descanso. Mi método get devolverá el resultado según el valor total del suministro del contrato o no responderá, pero la solicitud que hice al contrato devuelve una promesa. ¿Cómo puedo usar este valor?

 const NameContract = new web3.eth.Contract(abi, '0xE3A2beCa..........1D901F8'); NameContract.methods.totalSupply().call().then(value => console.log(value)) app.get('/:id', (req, res) => { let id = parseInt(req.params.id); //I want to use an if here. //I want to throw the query according to the value returned from above, // but it returns a promise, how can I use it value? nft.findOne({ id: id }, (err, doc) => { if (doc != null) { res.json(doc) } else { res.status(404).json(err) } }); });
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Intenta guardar la promesa cuyo valor terminará siendo el valor total

 const pTotalSupply = NameContract.methods.totalSupply().call();

(suponiendo que esto sea válido, el método .call parece un poco extraño). Las opciones entonces son

  • No inicie el servidor hasta pTotalSupply anterior se haya cumplido, siempre que el suministro total sea un valor estático y solo haya un contrato de nombre con el que el servidor tenga que lidiar,
  • Espere a que se obtenga el resultado dentro del controlador app.get , ya sea usando un operador de await dentro del cuerpo de una función asíncrona, o envolviendo el procesamiento de la solicitud en una función de promesa then argumento, o
  • Usando una promesa then llame para guardar el valor del suministro y llame a next en un controlador app.get de dos partes. Esta es más una solución orientada a la expresión que utiliza un patrón similar a:
 app.get('/:id', (req, res, next) => { pTotalSupply.then( value => { res.locals.value = value; next(); } .catch( err => res.status(500).send("server error")); // or whatever } , (req, res) => { const value = res.locals.value; let id = parseInt(req.params.id); // process request with value and id: ... });

La segunda opción está cubierta en las respuestas a Cómo devolver la respuesta de una llamada asíncrona

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