惜梦酱 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 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因