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 } ]

posted @ 2023-04-26 11:00  百花小松  阅读(343)  评论(0)    收藏  举报