采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
其实我有一个疑问,在写 like-koa2 的时候,去实现 next 机制,这个 dispatch.bind(null, i + 1) 按理说,如果不加 if 条件,它会直接无限循环去 + 1,我试过不加 bind,确实会陷入一个死循环, 但是在 加了 bind 之后 就会自动退出,这是为什么?
刚刚去 mdn 上仔细看了下 bind 函数的一个定义, 看到 bind 函数会返回一个新函数这一点我就明白了, 这个dispatch.bind(null, i + 1) 并非是直接调用 dispatch 这个函数 而是利用 bind 去返回一个 新函数给中间件去调用 也就是 调用所谓的 next ,如果没有中间件去调用 next ,i 就不会再加一。
我觉得说反了,应该是i参数已经给你传了(已经+1了),你执行了next,才会去执行这第i个函数
try catch 帮你停止了吧
登录后可查看更多问答,登录/注册
从入门到实战,一站式掌握 Node.js+Express+Koa2
2.8k 16
1.8k 16
2.0k 15
1.8k 13
1.7k 13
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号