我对Node.js有点陌生,并试图了解如何正确使用Node.js。我有一个函数(在控制器中),它管理与数据库的连接并执行简单的查询(从表中选择 *)。所以我的问题是这两个代码中哪一个正确使用Node. js/await(都可以工作)?
代码1:
const drzaveLista = async (req, res) => {
try{
await pool.connect(async(err, client, done) => {
if (err) throw err;
await client.query("SELECT * FROM DRZAVE;", [], (err, result) => {
done();
if (err) throw err;
res.render("drzave", {listaDrzava: result.rows});
});
});
} catch (err) {
console.log(err);
}
};
字符串
代码2:
const drzaveLista = async (req, res) =>{
const client = await pool.connect();
try{
const result = await client.query("SELECT * FROM DRZAVE;");
res.render("drzave", {listaDrzava: result.rows});
} catch (err){
console.log(`Greska ${err}`);
} finally {
client.release();
}
};
型
P.S.如果这很重要,我使用PostgreSQL作为数据库。
1条答案
按热度按时间2jcobegt1#
使用
async
和await
时不需要传递回调。代码2是正确的用法,以及它实际上是如何完成的。
如果您不希望控制器是异步的,还有另一种机制。
字符串