NodeJS 我必须在每个查询中添加一个版本吗?

wlzqhblo  于 2023-04-20  发布在  Node.js
关注(0)|答案(1)|浏览(110)

我有这个疑问:

const data = async () => {
  try {
   await client.query('SELECT * FROM data');
 } catch(e) {
   return e;
 }
};

但我看到人们是这样用的

const data = async () => {
  try {
   await client.query('SELECT * FROM data');
 } catch(e) {
   return e;
 } finally {
  client.release();
}
};

那么有什么区别,我应该使用方法2吗?

g6ll5ycj

g6ll5ycj1#

我假设你正在使用node-postgres
你不应该为每一个使用client.query()运行的查询调用client.release()。当你完成数据库连接client时,你必须调用client.release()一次(并且只调用一次)。
何时何地调用client.release()取决于应用程序的结构。
如果您只需要运行一个查询,最好只使用pool.query()而不是 checkout 客户端。

相关问题