最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

MariaDB 在我导出结果后返回未定义

网站源码admin27浏览0评论

MariaDB 在我导出结果后返回未定义

MariaDB 在我导出结果后返回未定义

我正在使用 MariaDB 开发一个小型 Express js 应用程序

每当我开始四处寻找如何在我的应用程序中使用 mariaDB 时,我总能找到一些示例,其中 连接查询 直接写入路由。

我认为这不是很可读,我试图将两者分开。

  • 路由调用查询(例如
    User.getAll()
  • User.getAll()
    导入的
    User.mjs
    返回数据库的响应。

我的问题:

到目前为止,这就是我认为需要的样子:

User.mjs

const User = {
    all: async () => {
        let conn;
        try {
            conn = await pool.getConnection()
            const rows = await conn.query(`SELECT * FROM users`);

            console.log(rows) // Shows list in terminal as expected
            return rows // does not return to where it's being called..

        } catch (err) {
            throw err;
        } finally {
            if (conn) return conn.end();
        }
    }
}

export default User;

然后在我的用户路由器中使用如下:

userRouter.mjs

router.get('/', async (req, res) => {
    const data = await User.all();
    console.log(data); // Shows "undefined" in terminal
    // Eventually also res.json(data);
})

查询有效...

当我在我的路由器中调用我的函数时,它确实执行了查询并且我的 console.log(rows) 显示了我想要的。

但是我的 console.log(data) 从我的路由器返回 undefined.

我错过了什么吗?或者这不是一个好方法吗?谢谢你的时间。

回答如下:

res.json(data)替换console.log(data)

您需要将数据发送回 res.json 执行的客户端(在将数据转换为 json 之后)。如果你只是console.log你只是将数据记录到你的终端。

发布评论

评论列表(0)

  1. 暂无评论