【发布时间】:2019-12-19 12:51:54
【问题描述】:
NPM and GitHub 上的文档没有说明如何在建立连接时捕获异常。我在猜测,基于查询方法的工作原理。所以作为一个新图书馆的新手,我是否必须阅读代码才能弄清楚?还是我缺少一些常见的标准做法?我故意输入错误密码只是为了测试错误处理。
我应该执行 try/catch,还是期望返回一个 err 对象?如果他们在查询方法上返回一个 err 对象而不是在连接方法上,是否不一致?
使用 Amazon AWS Aurora 作为数据存储。
const mysql = require('mysql2/promise'); 获取数据();
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)UnhandledPromiseRejectionWarning:错误:访问被拒绝 用户'adm test1'@'10.1.2.123'(使用密码:YES) 在 Object.createConnection (D:\Project2\POC\node_modules\mysql2\promise .js:223:31) 在 GetData (D:\Project2\POC\mySqlQuery_V3_Await.js:34:44)
【问题讨论】:
标签: node.js async-await shared-libraries