【发布时间】:2022-02-15 07:54:33
【问题描述】:
我正在尝试创建一个包装 WebSocket 并充当摄取器的类。
我的摄取工作正常,我可以通过一个处理传入消息的公共函数将一个函数传递给类实例。
但是,我想进行特定调用以从 WS 中提取信息并使用该数据来更新该类的成员。我一直遇到静态错误和类似的事情,不知道该怎么做。
最初我刚刚设置了要在类之外更新的变量,但这意味着每个实例的变量都不会不同。如何将这个变量存储在类中 - 每个实例,同时允许我对其进行更改?
export class WebSocketWrapper {
private _webSocket: WebSocketType;
private _myVariableToUpdate: number;
constructor(webSocket: WebSocketType) {
this._webSocket = webSocket;
setInterval(updateVariable, 5000);
}
// This gives problems
private updateVariable() {
this._myVariableToUpdate = this._webSocket.getMyVariable();
}
// This works
public onXXX(handler: Function): void {
this._webSocket.on("XXX", (value) => {
this._webSocket.doSomething(value).then((v) => {
handler(myValue);
});
});
}
}
【问题讨论】:
-
“这会带来问题” 什么问题?描述不希望发生的事情。您是否收到特定的错误消息?如果是这样,请将确切的错误消息添加到您的问题中。你的代码会做一些意想不到的事情吗?如果是,请描述错误行为。
标签: node.js typescript class websocket