实现异步/等待Node.js和MySQL的方法有多种,以下是其中一种常用的方法:
以下是一个使用Promise和async/await实现异步/等待Node.js和MySQL的示例代码:
const mysql = require('mysql');
// 创建MySQL连接池
const pool = mysql.createPool({
host: 'localhost',
user: 'root',
password: 'password',
database: 'database',
});
// 封装查询函数
function query(sql, values) {
return new Promise((resolve, reject) => {
pool.getConnection((err, connection) => {
if (err) {
reject(err);
} else {
connection.query(sql, values, (err, results) => {
connection.release();
if (err) {
reject(err);
} else {
resolve(results);
}
});
}
});
});
}
// 使用async/await调用查询函数
async function getUser(id) {
try {
const sql = 'SELECT * FROM users WHERE id = ?';
const values = [id];
const results = await query(sql, values);
return results[0];
} catch (error) {
console.error(error);
throw error;
}
}
// 调用异步函数
getUser(1)
.then(user => {
console.log(user);
})
.catch(error => {
console.error(error);
});
请注意,以上示例代码仅为演示使用Promise和async/await实现异步/等待Node.js和MySQL的一种方法,实际应用中可能需要根据具体情况进行适当调整和优化。
领取专属 10元无门槛券
手把手带您无忧上云