医生来了
NPM and GitHub
不显示建立连接时如何捕获异常。根据查询方法的工作原理,我在猜测。作为一个新库的新手,我需要阅读代码才能理解它吗?还是我缺少一些常见的标准做法?我故意输入了一个错误的密码,只是为了测试错误处理。
我应该尝试/捕获,还是期望返回err对象?如果它们在查询方法而不是连接方法上返回err对象,是否不一致?
使用Amazon AWS Aurora作为数据存储。
const mysql=require('mysql2/promise');
GetData();
async function GetData() {
const config = require("config");
const dbConfig = config.get('AWS.Database01TestErr');
console.log ("const dbConfig:");
console.dir(dbConfig, { depth: null });
const [errConn, connection] = await mysql.createConnection(dbConfig);
if (errConn) throw errConn;
mysql.createConnection(dbConfig);
console.log ("Got the database connection");
//query = "select ID, user_nicename, user_email from wp_users where user_login = 'hebgadmin' ";
query = "select ID, user_nicename from wp_users limit 3 ";
console.log ("Starting query");
const [rows, fields, err] = await connection.query (query);
if (err) throw err;
// console.log(rows);
console.log("Show Data Retrieved");
rows.map(e=>{
console.log("ID="+ e.ID + " NiceName=" + e.user_nicename);
})
console.log ("The end");
process.exit(); // Else Node hangs and must hit cntl-break to exit
}
部分输出:
(节点:2836)未经处理的PromisejectionWarning:错误:拒绝访问
用户'adm test1'@'10.1.2.123'(使用密码:是)
反对。createConnection(D:\Project2\POC\node\u modules\mysql2\promise.js:223:31)
在GetData(D:\Project2\POC\mySqlQuery\u V3\u Await.js:34:44)