关于koa2 next的问题

来源:11-12 总结

_AA啊啊

2020-03-09

koa2 调用 next方法会返回 一个promise
下面两个写法应该是大致等价的吧
图片描述
如果中间件调用next方法后 并没有后续的处理,应该可以不加await
(如下为login-check中间件的部分代码)
图片描述
去掉await后 发现后续的中间件可以正常调用
但是 ctx.body的赋值似乎无效了,返回结构是not found,想问问看老师这是什么原因。
图片描述

写回答

1回答

双越

2020-03-10

在所有的 ctx.body 前面打一个断点,看是否走到了 ctx.body ?如果走到了,具体赋值的内容是什么。

1
3
丁锅锅
回复
_AA啊啊
是在loginCheck的里执行完next()后直接return (undefined) 导致的么? 虽然next有执行,但是因为是异步的,调用在loginCheck已经return了,最后没有匹配到路由所以才404的?
2021-10-16
共3条回复

Node.js+Express+Koa2+Nest.js 开发服务端

从入门到实战,一站式掌握 Node.js+Express+Koa2

4051 学习 · 2006 问题

查看课程