Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

133
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda