koa中使用axios后无法传递数据给前端

candane
  • 5
新手上路,请多包涵
  1. 外面的123能正常收到,但是在axio中我使用ctx.body返回数据显示ctx.body为undefined
router.post("/", async ctx => {
  // console.log(wxcode);

  // ctx.body = '123'
  axios.get(wxAPI).then(async response => {
    const token = jwt.creatToken({
      openid: response.data.openid,
      session_key: response.data.session_key
    });
    ctx.body = '345'
    })
回复
阅读 2.7k
2 个回答
✓ 已被采纳

应该是因为没有await axios.get

candane
  • 5
新手上路,请多包涵

要在axios前加个await,否则无法传回前端数据,还有一个坑,如果在.then(async res={ await doing1;ctx.body=2 })里面(doing)操作数据库又使用了一层await,那么会继续无法返回ctx.body,最后我是在axios前面添加了await并把里面的ctx.body放在操作数据库之前才成功返回。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏