调用异步函数后程序并未结束

问题描述 投票:0回答:1

我刚刚开始使用 postgresql。

我已成功连接云数据库并使用nodejs“postgres”包检索数据,但程序在控制台上记录所有数据后并没有结束,它仍在运行。这是为什么?

import postgres from 'postgres'
import "dotenv/config"

const sql = postgres({
  host: process.env.DATABASE_HOST,
  database: process.env.DATABASE_NAME,
  username: process.env.DATABASE_USER,
  password: process.env.DATABASE_PASSWORD,
  ssl: 'require',
})

async function getInfo() {
  const users = await sql`
  select * from information_schema.tables
  `

  return users
}

getInfo().then((data) => console.log(data))
javascript node.js database postgresql npm
1个回答
0
投票

由于数据库连接,节点项目仍然会运行,需要在检索数据后结束它。

async function getInfo() {
  try {
    const users = await sql`
      select * from information_schema.tables
    `;
    return users;
  } finally {
    sql.end(); // Close the connection
  }
}

此外,您也可以使用

process.exit(0)

强制关闭节点
getInfo().then((data) => {
  console.log(data);
  process.exit(0);
});
© www.soinside.com 2019 - 2024. All rights reserved.