后端向数据库更改update数据,用postman调试返回结果Okpacket{},但是数据没存进去。

一级标题

后端向数据库更改update数据,用postman调试返回结果Okpacket{},但是数据没存进去。

相关代码:

/* 修改个人信息 */ 封装的changeMsgInfo方法,方便下面函数调用

static changeMsgInfo(myName,sex,className,stuNum,username){
  return new Promise((resolve,reject)=>{
    let sql="update myusers_db set my_name='"+myName+"',sex='"+sex+"',class_name='"+className+"',stu_num='"+stuNum+"' where username='"+username+"'"
    this.query(sql).then(result=>{
      console.log("走到result")
      resolve(result)
    }).catch(err=>{
      console.log("写入失败了!!@")
      reject("写入失败了!")
    })
  })
/* 修改个人信息   封装的changeMsg方法,方便接口调用 */ 
static async changeMsg(req,resp){
  let body = req.body
  let changeMsgData = await this.changeMsgInfo(body.myName,body.sex,body.className,body.stuNum,body.username)
  if(changeMsgData.length!=0){
    console.log("成功")
    resp.send(changeMsgData)
  } else{
    console.log("失败")
    console.log(changeMsgData)
    resp.status(500).send("写入数据失败")
  }
}
router.get('/changeMsg',function(req,res){
  user.changeMsg(req,res)
})

这是终端打印的结果
在这里插入图片描述
返回了一个Okpacket的数组,数据没update到数据库

解决方案:
参考了其他开源项目之后,在接口的地方function加上async就解决了,具体什么原因后续再深入了解。解决方法:

/*  修改个人信息*/
router.post('/changeMsg',async function(req,res){
  user.changeMsg(req,res)
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值