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

125
Visualizações
Objeto devuelto de la función de promesa

Estoy tratando de devolver la lista creada con el valor recibido de API a donde se llamó. Estoy usando Promise para asegurarme de que la función devuelva el valor después de obtener el valor de llamar a la API. Para explicar mejor con el código, tengo una función callAPI que llama a getNamedEntity . En última instancia, quiero que callAPI reciba el resultado de request.post() en getNamedEntity . Sin embargo, obtengo el objeto Promise y no estoy definido cuando pruebo con console.log("outside " + result) y console.log("inside doRequest " + result) dentro de cada función respectivamente.

 function callAPI(text) { const result = getNamedEntity(text); console.log("outside " + result); }
 async function getNamedEntity(text) { var requestJson = { ... }; var options = { ... }; function doRequest(options) { return new Promise(function (resolve, reject) { request.post(options, function (error, response, body) { if (!error && response.statusCode == 200) { const result = resolve(body); console.log("inside doRequest " + result); } else { reject(error); } }); }); } doRequest(options) .then((body) => { var entityList = []; const obj = JSON.parse(body); const words = obj.return_object.sentence[0].NE; for (var word of words) { entityList.push(word.text); } return entityList; }) .catch((error) => { console.log(error); }); }
 outside [object Promise] inside doRequest undefined
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

console.log("outside " + result) devuelve un objeto de promesa porque olvidó await a getNamedEntity(text); o, como alternativa, coloque console.log dentro de .then , como getNamedEntity(text).then(result => console.log(result));

console.log("inside doRequest " + result); devuelve undefined porque la función de resolve devuelve void, es decir, no devuelve nada. Cambie a console.log("inside doRequest " + body); o mueva el archivo console.log a la .then((body) .

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