Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript NodeJS函数赢得';即使使用wait,也不要等待PostgreSQL数据库调用_Javascript_Node.js_Postgresql_Typescript_Express - Fatal编程技术网

Javascript NodeJS函数赢得';即使使用wait,也不要等待PostgreSQL数据库调用

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": [

我试图递归地向数据库添加条目,每个条目都依赖于前一个条目(前一个条目的ID将是下一个条目的子ID)。这一切都很好,但我无法让async/wait正常工作

路由,(qb是来自下一个代码块的类实例)

示例柱体

{
    "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);
    });
  });
}