我已经转换了很多request.get来跟随这个新的async / await模式。有没有办法对request.post执行相同的操作。这是我的示例代码,并希望任何输入
try {
request({ url: url, method: 'POST', body: parameters, json: true}, function (error, response, body) {
if (!error) {
return res.status(200).send(response.body);
} else {
return res.status(500).send(response.body);
}
});
} catch(err) {
return res.status(500).send(err);
}
答案 0 :(得分:1)
您可以将请求方法包装在Promise中,然后包含在异步函数中,如下所示:
let request = require('request');
async function asyncRequest(options) {
return new Promise((resolve, reject) => {
request(options, (error, response, body) => resolve({ error, response, body }));
});
}
async function google() {
let response = await asyncRequest('http://www.google.com');
console.log(response.response.statusCode);
}
google();
根据request
的{{3}},您可以使用request-promise
模块来避免自己包裹承诺