请稍等 ...
×

采纳答案成功!

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

yield handler.call(this,next);问题

https://img1.sycdn.imooc.com/szimg//57c183ec00014a0d11000557.jpg

老师,你好,错误提示 定位到这一行代码,handler没有定义? 要怎么解决呢?

yield handler.call(this,next);
wechat.reply.call(this);

对这2行代码也不清楚~ 能否解释一下,谢谢!




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

插入代码

3回答

沙漠江河 2017-07-21 21:39:50

TypeError: Cannot read property 'call' of undefined

能帮我分析一下这是怎么回事吗

1 回复 有任何疑惑可以回复我~
Scott 2017-07-22 14:46:49

是外面没有传进来用来回复的逻辑,这里拿不到这个参数了,代码流程是这样:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// reply.js
export.reply = function *(next) {
  // 各种回复策略
  this.body = '回复的内容'
}
// app.js
app.use(wechat(wechatOps, reply.reply))
// g.js
module.exports = function(opts, handler) {
  var wechat = new Wechat(opts)
  return function *(next) {
    // ...
    // 这里的 handler 就是 app.js 里面传进来的 reply.reply
    yield handler.call(this, next)
    wechat.reply.call(this)
  }
}


0 回复 有任何疑惑可以回复我~
Scott 2016-08-28 05:17:20

可以往前面翻一番其他同学的提问哦。这里的reply要从app.js use 中间件的时候作为参数传进去,就是用来回复的reply.reply

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

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

帮助反馈 APP下载

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

公众号

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