fix: removed multiple message events added to CustomWebsocket
This commit is contained in:
@@ -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')
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user