fix:修改websocket根据id取消事件监听
This commit is contained in:
@@ -10,6 +10,7 @@ class WebSocketService {
|
||||
// this.maxReconnectAttempts = 2;
|
||||
this.reconnectInterval = 3000;
|
||||
this.eventListeners = {};
|
||||
this.listeners = {};
|
||||
}
|
||||
|
||||
connect(url) {
|
||||
@@ -62,9 +63,25 @@ class WebSocketService {
|
||||
}
|
||||
}
|
||||
|
||||
on(event, callback) {
|
||||
on(event, callback,id) {
|
||||
this.eventListeners[event] = [];
|
||||
this.eventListeners[event].push(callback);
|
||||
if (!this.listeners[event]) {
|
||||
this.listeners[event] = {};
|
||||
}
|
||||
this.listeners[event][id] = callback;
|
||||
}
|
||||
|
||||
removeEventListener(event, id) {
|
||||
if (this.listeners[event] && this.listeners[event][id]) {
|
||||
delete this.listeners[event][id];
|
||||
}
|
||||
}
|
||||
|
||||
closeMessageListener() {
|
||||
if (this.ws) {
|
||||
this.ws.onmessage = null;
|
||||
}
|
||||
}
|
||||
|
||||
emit(event, data) {
|
||||
@@ -76,6 +93,7 @@ class WebSocketService {
|
||||
close() {
|
||||
if (this.ws) {
|
||||
this.ws.close();
|
||||
this.ws = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user