所以当我导出异步函数时,我面临这个问题:
async function getItemData(callback) {
let result = await pool.getConnection(async function(err, con) {
if (err) throw err;
let queryPromise = await new Promise((resolve, reject)=> {
con.query("SELECT * FROM customers", function(err, rows) {
if (err) {
console.log(err);
reject(err);
} else {
console.log('Found records : ' + rows.length);
resolve(rows);
}
});
});
});
}
module.exports.getItemData = getItemData;
这里叫它:
app.listen(port, function () {
console.log('Api server is listening on port '+ port);
(async () => {
let result = await driver.getItemData();
console.log(result);
});
promise中的console.log有效。但是函数外部的console.log返回未定义。知道为什么吗?
您可以尝试以下方法:
app.listen(port, async () => {
console.log('Api server is listening on port '+ port);
let result = await driver.getItemData();
console.log(result);
});