а также
й программе я делаюasync
вызов для моей функции из другого модуля API:
var info = await api.MyRequest(value);
Код модуля:
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);
}
}
Выполнение возвращается немедленно, однакоresult
и поэтомуinfo
содержит объект запроса и тело запроса -info.body
любитьkey=value&...
, не требуется ответ тела.
Что я делаю не так? Как исправить? Что правильноrequest
использование сasync
, или это работает правильно только с обещаниями, как упомянуто здесь:Почему await не работает для модуля запроса узла? После упомянутой статьи это возможно:Освоение асинхронного ожидания в Node.js.