Écrivez ceci dans le middleware :
wechat.reply.call(this);
Écrivez la fonction de réponse dans wechat comme ceci :
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 }
Ensuite, il signale une erreur
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)
Au fait, la fonction d'appel n'est-elle pas disponible en js natif ? Pourquoi ai-je eu une erreur lorsque je l'ai appelée ?
De plus, après recherche sur Baidu, il y a très peu de personnes avec cette erreur...
Demandez au maître : Quand cette erreur se produit-elle généralement ? Quelle est la raison de l'erreur ?
Par exemple
?a.call(this,null)
,但是此时a
是undefined
, l'erreur que vous rencontrez sera signaléeÊtes-vous sûr qu'il existe une méthode wechat.apply
L'instance WeChat ne doit avoir aucune valeur, veuillez l'imprimer avant d'appeler.
Si
x.call
中x
未定义,则其下的.call
无法访问,所以你先确定一下wechat.reply
a été défini.Notez également qu'en JS, les noms de variables sont sensibles à la casse.