Nodejs报错Cannot read property 'call' of undefined
在中间件中这么写:
wechat.reply.call(this);
在wechat中的reply函数是这么写的:
Wechat.prototype.reply = function(){
console.log('bbbbb');
var content = this.body;
var message = this.weixin;
var xml = util.tpl(content,message)
console.log(xml);
this.status = 200
this.type = 'application/xml'
this.body = xml
return
}
然后就报错
TypeError: Cannot read property 'call' of undefined
at Object.<anonymous> (C:\www\koa\wechat\wechat\g.js:54:16)
at Generator.next (<anonymous>)
at onFulfilled (C:\www\koa\wechat\node_modules\co\index.js:65:19)
at process._tickCallback (internal/process/next_tick.js:109:7)
话说,call函数不是在原生js中就能用吗,为什么我在调用的时候报错了呢?
而且,百度了一下,有这种错误的人特别少……
问大神:通常是什么时候会报这个错?报错的原因是什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
wechat实例应该没有值,你在调用之前打印一下看看。
举个栗子
a.call(this,null)
,但是此时a
是undefined
,就会报你遇到的错误确认有 wechat.apply 这个方法么
如果
x.call
中x
未定义,则其下的.call
无法访问,所以你先确定一下wechat.reply
是否已经定义。另外,注意在JS中,变量名是区分大小写的。
不知道你解决没 我猜可能是wechat.reply用的是箭头函数的写法