fix: removed multiple message events added to CustomWebsocket

This commit is contained in:
Roberto Tonino
2021-03-01 21:22:32 +01:00
parent c6a2f35fbf
commit cbf3a5c677
4 changed files with 1384 additions and 1334 deletions

View File

@@ -1,21 +1,31 @@
import store from '@/store'
let wasEventListenerAdded = false
class CustomSocket extends WebSocket {
constructor(args) {
super(args)
}
emit(key, data) {
if (this.readyState != WebSocket.OPEN) return false
this.send(JSON.stringify({key:key, data:data}))
constructor(args) {
super(args)
}
emit(key, data) {
if (this.readyState !== WebSocket.OPEN) return false
this.send(JSON.stringify({ key: key, data: data }))
}
on(key, cb) {
if (!wasEventListenerAdded) {
wasEventListenerAdded = true
on(key, callback) {
this.addEventListener('message', function(event){
let data = JSON.parse(event.data)
console.log(data)
if (data.key == key) callback(data.data)
})
this.addEventListener('message', event => {
const messageData = JSON.parse(event.data)
if (messageData.key === key) {
cb(messageData.data)
}
})
}
}
off() {
console.log('off!')
// this.removeEventListener('message')
}
}