我试图做以下事情。
listening(randomToken, self) {
console.log("test");
}
startListening(randomToken) {
let test = caller => {
this.listening(randomToken, this);
};
this.udpSocket.on("listening", test);
}
我从另一个类调用startListening但是调用了console.log的输出(" test");从不在Chrome控制台中显示。
然而,当我这样做时:
startListening(randomToken) {
let test = caller => {
this.listening(randomToken, this);
};
this.udpSocket.on("listening", this.listening(randomToken));
}
输出显示正确,但我得到:
未捕获的TypeError:"听众"参数必须是函数
为什么会这样?当然,我可以通过将它包装在try / catch周围来避免显示错误,但有没有更合适的方法来处理它?
修改:我忘了提及即使这样也行不通:
let test = caller => {
console.log("test");
};
this.udpSocket.on("listening", test);
}
答案 0 :(得分:0)
你应该通过'测试'作为一个功能,
this.udpSocket.on("listening", test());