请稍等 ...
×

采纳答案成功!

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

为何handler.call是提示cannot read property 'call' of undefined

为何handler.call是提示cannot read property 'call' of undefined

正在回答

2回答

Scott 2016-09-01 19:00:08

在 app.js 里面 use WeChat 中间件的时候需要传进来 reply 模块作为这个 handler

0 回复 有任何疑惑可以回复我~
  • 提问者 魍驿 #1
    现在不是handler的问题,handler前面加了*就可以了,yield* handler.call(this, next);这句已经通过了;
    是后面那句//移交控制权
          yield* handler.call(this, next);  //这句已经成功执行
    
    
    
          wechat.reply.call(this); //这句报错,call无法识别
    回复 有任何疑惑可以回复我~ 2016-09-01 20:05:07
  • Scott 回复 提问者 魍驿 #2
    头像赞! call 无法识别,说明这个 reply 不是实例上的方法,进而说明 wechat 不是一个健康的实例对象,检查一下 reply 方法是否挂载到原型上,另外就是检查下 new 实例的时候,是不是构造函数本身有问题
    回复 有任何疑惑可以回复我~ 2016-09-01 20:35:31
  • 提问者 魍驿 #3
    非常感谢!没有new Wechat,之前注释了
    回复 有任何疑惑可以回复我~ 2016-09-02 00:32:27
Scott 2016-09-01 16:42:11
0 回复 有任何疑惑可以回复我~
  • 提问者 魍驿 #1
    已经增加;module.exports = function(opts, handler){
      // var wechat = new Wechat(opts);
    
    。。。。。。
    //移交控制权
          yield* handler.call(this, next);    //加了*通过执行
    
          wechat.reply.call(this);  //这句依然报错,Wechat.prototype.reply = function(){。。。。。}
    回复 有任何疑惑可以回复我~ 2016-09-01 18:20:50
  • 提问者 魍驿 #2
    已经增加;
    module.exports = function(opts, handler){ // var wechat = new Wechat(opts); 。。。。。。 
    //移交控制权 yield* handler.call(this, next); //加了*通过执行 
    wechat.reply.call(this); //这句依然报错,定义Wechat.prototype.reply = function(){。。。。。}
    回复 有任何疑惑可以回复我~ 2016-09-01 18:21:56
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信