嗨,我正在尝试使用异步功能从登录返回响应
问题在于res.json
在包含reponse
之前被返回
const routes = require('express').Router();
const request = require('request');
const bodyParser = require("body-parser");
routes.use(bodyParser.json());
routes.use(
bodyParser.urlencoded({
extended: true
})
);
routes.post('/login', async function (req, res) {
let options = {
form: {
username: req.body.username,
password: req.body.password
}
};
var data = await request.post(
req.url,
options,
await function (error, response, body) {
if (error) {
console.log(error);
}
// The data I want
return response;
}
)
//This returns before it includes response
res.json(data);
});
module.exports = routes;
有什么想法吗?
答案 0 :(得分:0)
您应该使用请求承诺。异步等待仅与promise一起使用,因此您必须首先将请求库转换为承诺形式。在npm模块下面使用请求版本的请求库。