请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于 like-koa2 中 next 机制的一个实现疑问

其实我有一个疑问,在写 like-koa2 的时候,去实现 next 机制,这个 dispatch.bind(null, i + 1) 按理说,如果不加 if 条件,它会直接无限循环去 + 1,我试过不加 bind,确实会陷入一个死循环, 但是在 加了 bind 之后 就会自动退出,这是为什么?

正在回答 回答被采纳积分+3

2回答

提问者 kemplaw 2019-06-06 21:47:45

刚刚去 mdn 上仔细看了下 bind 函数的一个定义, 看到 bind 函数会返回一个新函数这一点我就明白了, 这个dispatch.bind(null, i + 1) 并非是直接调用 dispatch 这个函数 而是利用 bind 去返回一个 新函数给中间件去调用 也就是 调用所谓的 next ,如果没有中间件去调用 next ,i 就不会再加一。

4 回复 有任何疑惑可以回复我~
  • 沉霄 #1
    我觉得说反了,应该是i参数已经给你传了(已经+1了),你执行了next,才会去执行这第i个函数
    回复 有任何疑惑可以回复我~ 2022-03-24 22:55:33
慕斯卡0588786 2019-11-17 12:14:48

try catch  帮你停止了吧

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号