Open Gk0Wk opened 2 years ago
版本:2.9.1
复现方式:
import { createWebsocket } from 'qq-guild-bot'; class Test { constructor(ws: any) { ws.on('READY', this.test); } test() { console.log(this); } } const test = new Test(createWebsocket(/* 配置文件略 */)); test.test();
输出结果:Ready回调Test.test()输出的this为WebsocketClient,而非test实例。
所以是不是应该改成绑定为对应的类实例会好一些?因为一些时候需要将功能封装,不这样的话会很难受。
你应该传入this.test.bind(this)
版本:2.9.1
复现方式:
输出结果:Ready回调Test.test()输出的this为WebsocketClient,而非test实例。
所以是不是应该改成绑定为对应的类实例会好一些?因为一些时候需要将功能封装,不这样的话会很难受。