É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.<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)
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.