后端express,mysql 复杂查询结果同步返回问题

function dbquery(querysql) {
        pool.getConnection((err, conn) => {
            if (err) {
                console.log(CurentTime() + "数据库连接出错!" + err);
                return
            } else {
                console.log(CurentTime() + "数据查询ing!");
                conn.query(querysql, (err, qresults) => {
                    if (err) {
                        conn.release();
                        console.log(CurentTime() + "数据库查询出错!" );
                    } else if (qresults == "" || qresults == []) {
                        conn.release();
                        console.log(CurentTime() + "未查询到相应数据!");
                    } else {
                        conn.release();
                        console.log(CurentTime() + "数据返回成功!");
                    }
                });
            }
        });
};


router.post("/testapi",(req,res)=>{
    const query = 'select * from user_account '
    const queryData = dbquery(query);
    res.json({ 'code': 200, 'result': JSON.stringify(queryData) });
});

像这样,我想在api中查询后将查询到的数据返回到参数,然后对参数结果进行判定后再response,应该怎么修改? 目前函数调用正常,但异步返回值没有返回到queryData里面。

打印一下queryData有没有查询到数据,dbquery应该返回查询结果。

dbquery这个方法都没有return 返回值

dbquery方法没有将   qresults  返回

dbquery 方法没有return ,queryData应该是undefined的  这样

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

return 也无效, 数据在query内部可以显示结果正常, 就是不能return出来。

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y

dbquery方法中似乎没有返回结果,可以使者打印queryData查看内容。