我不知道为什么这段代码不起作用。如果我使用此代码总是返回错误消息。
结果:
{ "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/