Javascript NodeJS函数赢得';即使使用wait,也不要等待PostgreSQL数据库调用
我试图递归地向数据库添加条目,每个条目都依赖于前一个条目(前一个条目的ID将是下一个条目的子ID)。这一切都很好,但我无法让async/wait正常工作 路由,(qb是来自下一个代码块的类实例) 示例柱体Javascript NodeJS函数赢得';即使使用wait,也不要等待PostgreSQL数据库调用,javascript,node.js,postgresql,typescript,express,Javascript,Node.js,Postgresql,Typescript,Express,我试图递归地向数据库添加条目,每个条目都依赖于前一个条目(前一个条目的ID将是下一个条目的子ID)。这一切都很好,但我无法让async/wait正常工作 路由,(qb是来自下一个代码块的类实例) 示例柱体 { "org_name": "Paradise Island", "daughters": [ { "org_name": "Banana tree", "daughters": [
{
"org_name": "Paradise Island",
"daughters": [
{
"org_name": "Banana tree",
"daughters": [
{
"org_name": "Yellow Banana"
}
]
}
]
}
我的目标是将没有子对象的最内层组织添加到数据库中,其子对象为NULL。此条目的ID将返回到父函数,父函数将返回的ID映射到子数组,并将自身添加到数据库中,包括子ID。
insertOrg
不会返回一个承诺
等待等待。将其写入,以便返回一个可以等待的承诺
protected insertOrg(name: string, children ? : number[]) {
return new Promise((resolve, reject) => {
const childParam = children ? `array[${children}]` : 'NULL';
const query = ` INSERT INTO orgs
(org_name, daughters)
VALUES
('${name}', ${childParam})
RETURNING id`;
pool.query(query, (err, res) => {
if (err) return reject(err);
resolve(res.rows[0].id);
});
});
}
insertOrg
不会返回Promise
待wait
ed。谢谢,巴德,错过了
{
"org_name": "Paradise Island",
"daughters": [
{
"org_name": "Banana tree",
"daughters": [
{
"org_name": "Yellow Banana"
}
]
}
]
}
protected insertOrg(name: string, children ? : number[]) {
return new Promise((resolve, reject) => {
const childParam = children ? `array[${children}]` : 'NULL';
const query = ` INSERT INTO orgs
(org_name, daughters)
VALUES
('${name}', ${childParam})
RETURNING id`;
pool.query(query, (err, res) => {
if (err) return reject(err);
resolve(res.rows[0].id);
});
});
}