我不知道为什么此代码不起作用。如果我使用此代码始终返回错误消息。
结果:
{ “错误”:是的, “ message”:“来自查询类别的错误”}
iam只想使用async和await函数从数据库中获取数据
iam使用express.js && mysql.js
在我的控制器中:
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;
在此之前,iam尝试使用此代码及其工作方式。但是我认为使用异步等待非常好,所以我尝试使用它,但是我不知道它是如何工作的
db.query(sql,(err,result)=>{
return res.status(200).json(result);
})
那是因为我不返回结果吗?还是我不能使用异步等待来做到这一点?
答案 0 :(得分:0)
async await与返回promise的方法一起使用。 db.query函数接受回调,因此异步等待在这种情况下将不起作用