我正在尝试在我的node js应用程序中发出GET请求,但由于某种原因,它无法与async await一起使用。当我使用回调链时,它有效,但是当我尝试使用异步执行相同的查询时,等待它给我一个错误:
TypeError:将圆形结构转换为JSON 在JSON.stringify()
我的代码:
router.get("/getuser", async(req,res)=>{
const emailexists= 'select * from users'
try{
const results=await connection.query(emailexists)
res.send(results)
}catch(err){
console.log(err)
}
})
我正在使用mysql作为数据库。谁能帮忙吗?
答案 0 :(得分:1)
您使用的mysql库不支持promise。因此,connection.query(emailexists)
不会返回承诺,因此将await
与它一起使用不会做任何有用的事情,也不会等待结果。
您可以手动分配要使用的特定功能,使用third party promise wrapper for mysql,也可以使用具有内置Promise支持的较新的mysql2/promise
library。请参阅该链接以获取编程示例。