node.js – Nodejs-Fehler: Die Eigenschaft „call' von undefiniert kann nicht gelesen werden
PHP中文网
PHP中文网 2017-06-29 10:09:20
0
3
1322

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?

PHP中文网
PHP中文网

认证高级PHP讲师

Antworte allen(3)
大家讲道理

举个栗子 a.call(this,null),但是此时 aundefined,就会报你遇到的错误
确认有 wechat.apply 这个方法么

女神的闺蜜爱上我

在中间件中这么写:
wechat.reply.call(this);在wechat中的reply函数是这么写的:

wechat实例应该没有值,你在调用之前打印一下看看。

console.log(wechat.reply)
刘奇

如果x.callx未定义,则其下的.call无法访问,所以你先确定一下wechat.reply是否已经定义。
另外,注意在JS中,变量名是区分大小写的。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage