惜梦酱 2022-06-24 20:10 采纳率: 66.7%
浏览 36
已结题

Koa数据返回出现问题

Koa数据返回出现问题

首先通过使用redis获取数据,然后将json数据通过koa-json返回,但是出现了一些问题。
使用Apifox测试

代码

// getData.js
exports.getNavMenu = async (ctx, next) => {
    let key = ctx.req.headers.fapp + ':nav:menu'
    redis.get(key).then((data) => {
        console.log(data)
        // console.log(utill.getReturnData(0, '', data))
        ctx.body = utill.getReturnData(0, '', data)
    })
}

// router/index.js
const router = require('koa-router')()
const { getNavMenu } = require('../controller/getData')

router.get('/getNavMenu', getNavMenu)
module.exports = router
--------------------------------------
// util.getRetrunData
util.getReturnData = (code, message='', data=[]) => {
    if(!data) {
        data = []
    }

    return {
        code: code,
        message, message,
        data: data
    }
}
运行结果

img


从这里看出应该不是获取数据出现问题,问题应该在koa上但是现在不知道怎么回事。

我首先想到是不是koa-json出问题了,创建了一个新的路由”/json“

img


输出结果:
apifox:

img


console:

img


都是没问题的。
现在我就不知道哪里出问题了,希望各位帮忙解决一下!

  • 写回答

1条回答 默认 最新

  • 惜梦酱 2022-06-24 20:15
    关注

    解决了应该是promise出现的问题,我用await改了一下就好了

    exports.getNavMenu = async (ctx, next) => {
        let key = ctx.req.headers.fapp + ':nav:menu'
        const data = await redis.get(key)
        ctx.body = utill.getReturnData(0, '', data)
    }
    ```javascript
    看了一下之前写的代码,好难受啊!async...await语法没用习惯,还有待加强
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 7月2日
  • 已采纳回答 6月24日
  • 创建了问题 6月24日

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料