0
JavaScriptを書き込もうとしているJavaプログラマーは、コールバックが呼び出されたときのスコープの変化を把握しているようです。javascriptのコールバック関数でローカル変数が未定義になる
以下のbot.sendmessageは実行に失敗します。エラーログは、私はテームが正しいことを言う必要がある "undefined.bot.sendMessage(フォームID、RESP)"
"use strict";
function Handlers() {
this.bot = undefined;
this.registerHandler = (bot)=>{
this.bot = bot;
bot.on('message', this._messageCallback);
bot.on('inline_query', this._inlineCallback)
}
}
Handlers.prototype = {
_messageCallback: (msg) => {
console.log("New Outline Request from: chat=" + msg.chat.id + ", uid=" + msg.from.id);
var fromId = msg.from.id;
var resp = "Hello there";
this.bot.sendMessage(fromId, resp);
},
_inlineCallback: (msg) => {
console.log("New Inline Request from: uid=" + msg.from.id);
/*
TODO::
check if user is in data base if not log new entry;
*/
}
};
module.exports = Handlers;
[矢印機能(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions#No_binding_of_this)を参照してください。 – Teemu
それは問題でした!おかげさまで、あなたの助けに感謝します:)答えを追加し、それに答えて@teemu –