node同步查询数据库(mysql)
mysql模块默认异步操作,在写一些简单脚本时会比较痛苦,可以通过async/await和Promise封装成同步操作
async function query (connection, sql) {
return new Promise((resolve, reject) => {
connection.query(sql, function (error, results) {
if (error) reject(results);
resolve(results);
});
})
}
使用时需要使用变量接收返回值,并注意加上await
// 省略connection初始化过程
let result = query(connection, 'select 1 from dual');
console.log(result); // [ RowDataPacket { '1': 1 } ]