Solicitação adequada com async / wait no Node.JS
No meu programa eu façoasync
chamo minha função de outro módulo da API:
var info = await api.MyRequest(value);
Código do módulo:
var request = require("request")
module.exports.MyRequest = async function MyRequest(value) {
var options = {
uri: "http://some_url",
method: "GET",
qs: { // Query string like ?key=value&...
key : value
},
json: true
}
try {
var result = await request(options);
return result;
} catch (err) {
console.error(err);
}
}
A execução retorna imediatamente, no entantoresult
e portantoinfo
contém o objeto de solicitação e o corpo da solicitação -info.body
gostarkey=value&...
, corpo de resposta não necessário.
O que estou fazendo de errado? Como consertar? O que é apropriadorequest
uso comasync
, ou apenas funciona corretamente com promessas como as mencionadas aqui:Por que aguardar não está funcionando para o módulo de solicitação de nó? O artigo a seguir mencionado é possível:Dominando o Async Aguardar no Node.js.