Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/43.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 节点JS mysql循环查询res.render结果_Javascript_Node.js_Mysql2 - Fatal编程技术网

Javascript 节点JS mysql循环查询res.render结果

Javascript 节点JS mysql循环查询res.render结果,javascript,node.js,mysql2,Javascript,Node.js,Mysql2,我在通过res.render返回循环mysql查询结果时遇到问题。我正在运行两个查询;第一个查询从信息模式中提取表名,第二个查询运行从第一个查询返回的每个表名 router.get('/data',ifNotLoggedin, async (req, res) => { let table = [] let rslt = [] pool.query('SELECT GROUP_CONCAT(table_name SEPARATOR ",") \

我在通过res.render返回循环mysql查询结果时遇到问题。我正在运行两个查询;第一个查询从信息模式中提取表名,第二个查询运行从第一个查询返回的每个表名

router.get('/data',ifNotLoggedin, async (req, res) => {
    let table = []
    let rslt = []

    pool.query('SELECT GROUP_CONCAT(table_name SEPARATOR ",") \n' +
        'AS myval FROM information_schema.tables WHERE table_schema = "numbers" ', function (err, rows) {
            //console.log (rows);  
            if (typeof rows[0].myval == 'undefined' || rows[0].myval === null) {
                rows = []
                res.render('pbx/data', { data: '' });
            } else {
           rows = rows 
           let ans = rows[0].myval.split(',')
                ans.forEach(ans => table.push(ans))
                //console.log (table);
                
            }
            
            table.forEach((data) => {
                pool.query('SELECT ? as name, COUNT(phone) AS "totalNumbers", \n' +
                    'count(case when isselected = 1  then 1 END) AS "usedNumbers" ,\n' +
                    'count(case when isselected = 0 OR isselected IS NULL then 0 END) AS "remNumbers" from numbers.??', [data, data] 
                    , function (err, rows1) {


                        rows1.forEach(function (item) {
                            rslt.push(item);
                        });

                        setTimeout(() => {
                            res.render('pbx/data', { data: rslt });
                        }, 500);
                        
                    })
            })  
    });
})
这可以按原样工作,但我知道这不是正确的方法,因为我一直看到错误“发送到客户端后无法设置头”,显然,因为第二个查询正在循环,所以我不会等待结果完成,然后再通过res.render推送它。非常感谢您的帮助

非常感谢,Ucin