javascript - Express.js 无法使用异步等待从查询 mysql 获取结果

标签 javascript mysql express

我不知道为什么这段代码不起作用。如果我使用此代码总是返回错误消息。

结果:

{ "error": true, "message": "error from query category" }

iam 只是想使用异步和等待函数从数据库获取数据

iam 使用express.js && mysql.js

在我的 Controller 中:

export const getAllCategory = async (req, res) => {
    let sql = `select * from categories order by id desc`;
    try {
        let result = await db.query(sql);
        return res.status(200).json(result);
        // db.query(sql,(err,result)=>{
        //     return res.status(200).json(result);
        // })
        //    return res.status(201).json(query);
        // // return res.status(201).json({ error: false, data:query});
    } catch (e) {
        return res.status(400).json({ error: true, message: 'error from query category' });
    }
}

路由器

const routes = new Router();

routes.post('/category/create',CategoryController.createCategory);
routes.get('/category/getall', CategoryController.getAllCategory);
export default routes;

在此之前,我尝试使用此代码及其工作原理。但我认为使用 async wait 非常好,所以我尝试使用它,但我不知道它是如何工作的

  db.query(sql,(err,result)=>{
        return res.status(200).json(result);
    })

是因为我没有返回结果吗?或者我不能使用异步等待来做到这一点?

最佳答案

async wait 适用于返回 Promise 的方法。 db.query 函数接受回调,因此异步等待在这种情况下将不起作用

关于javascript - Express.js 无法使用异步等待从查询 mysql 获取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53953715/

相关文章:

php - 获取两个值 Javascript

mysql - 如何将Flask应用程序容器与MySQL服务器容器连接?

node.js - 表达 js 4 如何在不渲染任何 View /css 的情况下提供 json 结果

javascript - 依赖项的非确定性行为 - nodejs

node.js - Express.js/Node 禁用某些请求日志

javascript - 如何消除 ngShow 初始化的延迟?当 ng-cloak 失败时?

javascript - 确保给定参数的每个任务在 Node.JS 中仅完成一次

javascript - Windows 8 中的 float WinJS.UI.ListView 元素 - HTML 应用程序

mysql - twitter 像关系数据库一样?

mysql - 通过联接和日期时间查询检索行,其中日期时间是过去而不是将来