美文网首页
KOA async/await后ctx.body失效

KOA async/await后ctx.body失效

作者: Demonskp | 来源:发表于2019-12-30 14:51 被阅读0次

事由

最近在重写自己的博客系统,从原来的express修改到koa+TS。在添加数据库连接时碰到了这个问题。

简单来说,他的表现就是你写了正确的async/await或者promise,但是你用console来打印能正确打印出来,你用ctx.body去显示它就失败了。

失败的原因

我自己写的中间件在调用next()的时候 并没有把next当作一个异步函数使用。因此你在promise中异步赋值了ctx.body,但是由于next函数没有等你,在你赋值之前这一网络请求就已经完成了。

解决办法

  1. 检查你的async/await和promise是否正确。
  2. 检查你的中间件的next函数是否等待了。

相关文章

  • KOA async/await后ctx.body失效

    事由 最近在重写自己的博客系统,从原来的express修改到koa+TS。在添加数据库连接时碰到了这个问题。 简单...

  • 初见 Koa 2

    koa 和 koa 2 最大的不同是koa 2 支持 async/await。koa 通过结合 generato...

  • koa2.0的实现原理

    koa2.0基于async await / koa1.0基于generator koa 的大致流程,文件结构划分很...

  • Koa

    一、Koa是什么 二、异步的类型 callback Promise async + await

  • koa基础操作(2)

    1,安装 koa-router 2,修改index.js async/await 使用同步代码修改 插件koa-r...

  • Koa2学习系列01-环境准备——安装搭建项目的开发环境

    Koa 起手 环境准备 由于 koa2 已经开始使用 async/await 等新语法,所以请保证 node 环境...

  • koa2学习笔记

    快速开始 安装 node.js 版本:v7.6 以上 npm i koa -S 运行 async / await ...

  • 深刻理解async/await

    一、前言 我最初接触 async/await 是在完成一个小demo,在koa的教程里初次见到 async/awa...

  • koa洋葱模型原理

    首先,关于 洋葱模型 自上而下-》自下而上 回溯机制并不是 koa 自己的特性,而是 async/await 自己...

  • KOA2-快速上手

    KOA2与KOA1相比最大的特点是采用了async/await,但是Node.js环境需要7.6.0以上。如果不想...

网友评论

      本文标题:KOA async/await后ctx.body失效

      本文链接:https://www.haomeiwen.com/subject/njhmoctx.html