Heim > Fragen und Antworten > Hauptteil
Schreiben Sie dies in die Middleware:
wechat.reply.call(this);
Schreiben Sie die Antwortfunktion in Wechat wie folgt:
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
}
Dann meldet es einen Fehler
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)
Übrigens, ist die Aufruffunktion nicht in nativem JS verfügbar. Warum habe ich beim Aufruf eine Fehlermeldung erhalten?
Darüber hinaus gibt es nach der Suche auf Baidu nur sehr wenige Leute mit diesem Fehler ...
Fragen Sie den Meister: Wann tritt dieser Fehler normalerweise auf? Was ist der Grund für den Fehler?
大家讲道理2017-06-29 10:11:20
举个栗子 a.call(this,null)
,但是此时 a
是 undefined
,就会报你遇到的错误
确认有 wechat.apply 这个方法么
女神的闺蜜爱上我2017-06-29 10:11:20
在中间件中这么写:
wechat.reply.call(this);在wechat中的reply函数是这么写的:
wechat实例应该没有值,你在调用之前打印一下看看。
console.log(wechat.reply)
怪我咯2017-06-29 10:11:20
如果x.call
中x
未定义,则其下的.call
无法访问,所以你先确定一下wechat.reply
是否已经定义。
另外,注意在JS中,变量名是区分大小写的。