我正在本地运行mariadb,并希望使用节点驱动程序查询几行。下面的代码直接来自mariadb节点文档。我已确认服务器已启动并正在运行,并且可以从CLI本身进行查询。
奇怪的是,脚本没有失败或抛出错误。它只是在await pool.getConnection()
行卡住了。我甚至等了5分钟。
我的服务器版本是Server version: 10.7.3-MariaDB Homebrew
,我正在使用节点https://www.npmjs.com/package/mariadb的3.0.0
程序包版本
const mariadb = require('mariadb');
const pool = mariadb.createPool({
host: 'localhost',
user: 'node',
password: 'PWD',
connectionLimit: 5,
port: 3306,
database: 'DB',
acquireTimeout: 5000
});
(async () => {
console.log('in iife');
let conn;
try {
console.log('awaiting conn');
//This never gets reached..just gets stuck even after 5s
conn = await pool.getConnection();
console.log(conn);
console.log('awaiting q');
const rows = await conn.query("SELECT * FROM foo where id=1");
console.log(rows);
} catch (err) {
throw err;
} finally {
if (conn) return conn.end();
}
})();
我已经在两个不同的设备上试过了,都有同样的问题。有什么想法吗?
1条答案
按热度按时间3xiyfsfu1#
这是一个错误。使用开发工具调试让我意识到在未声明的var中有一个普通的运行时错误。错误被捕获并抛出。但由于这是作为ad-hoc脚本调用的,我从来没有意识到错误是什么。用console.error替换抛出让我看到错误