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. (C:\www\koa\wechat\wechat\g.js:54:16) at Generator.next () 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?
举个栗子
a.call(this,null)
,但是此时a
是undefined
,就会报你遇到的错误确认有 wechat.apply 这个方法么
wechat实例应该没有值,你在调用之前打印一下看看。
如果
x.call
中x
未定义,则其下的.call
无法访问,所以你先确定一下wechat.reply
是否已经定义。另外,注意在JS中,变量名是区分大小写的。