在Node.js中同步获取MySQL查询的输出,可以使用回调函数或者Promise来实现异步操作的同步化。
const mysql = require('mysql');
// 创建数据库连接
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'password',
database: 'database_name'
});
// 连接数据库
connection.connect();
// 执行查询操作
connection.query('SELECT * FROM table_name', function (error, results, fields) {
if (error) throw error;
console.log(results); // 输出查询结果
});
// 关闭数据库连接
connection.end();
在上述代码中,通过connection.query
方法执行查询操作,并通过回调函数获取查询结果。在回调函数中,results
参数即为查询结果。
async/await
语法来实现同步化的代码流程。示例代码如下:const mysql = require('mysql');
// 创建数据库连接
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'password',
database: 'database_name'
});
// 连接数据库
connection.connect();
// 封装查询操作为Promise
function query(sql) {
return new Promise((resolve, reject) => {
connection.query(sql, function (error, results, fields) {
if (error) reject(error);
resolve(results);
});
});
}
// 使用async/await同步获取查询结果
async function getQueryResult() {
try {
const results = await query('SELECT * FROM table_name');
console.log(results); // 输出查询结果
} catch (error) {
console.error(error);
} finally {
// 关闭数据库连接
connection.end();
}
}
// 调用函数获取查询结果
getQueryResult();
在上述代码中,通过封装查询操作为Promise,可以使用await
关键字来等待查询结果的返回,从而实现同步化的代码流程。
推荐的腾讯云相关产品:腾讯云数据库MySQL、腾讯云云服务器CVM。
领取专属 10元无门槛券
手把手带您无忧上云