gpt4 book ai didi

javascript - 使用 await 在函数调用之外持久化数据

转载 作者:行者123 更新时间:2023-12-04 10:02:58 24 4
gpt4 key购买 nike

我正在尝试从我的 postgresql 数据库中查询数据。我正在使用 pg 并使用 client.query 查询数据。我成功地进行了查询,但是当我离开 client.query 调用的函数时我丢失了数据。我不确定它是否与等待有关,但我需要它才能使其正常工作。

var data;
const connectionString = 'postgres://postgres:postgres@storedb.csyjfyng5vgc.us-west-2.rds.amazonaws.com:5432/clientdb';
const client = new Client({
connectionString: connectionString
});
await client.connect();
await client.query('SELECT * from public.clients', function (err, res) {
if (err) {
console.log("This is the Error")
console.log(err);
return err;
}
client.end();
data = res.rows;
});

console.log("data", data);

res.rows 为我提供了我想要的数组,但是当我将其设置为 data 时,数据未定义。 Console.log("data", data) 返回:
data undefined

我怎样才能让这个数据在 client.query 调用的函数之外持久化?

最佳答案

client.query只有在返回 Promise 时才与 await 一起使用:
https://node-postgres.com/api/client#client.query

var data;
const connectionString = 'postgres://postgres:postgres@storedb.csyjfyng5vgc.us-west-2.rds.amazonaws.com:5432/clientdb';
const client = new Client({
connectionString: connectionString
});
await client.connect();
let res = await client.query('SELECT * from public.clients');

data = res.rows;

console.log("data", data);

关于javascript - 使用 await 在函数调用之外持久化数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61744301/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com