Avoid dispatching unneeded socket actions
This commit is contained in:
parent
7fb0cd3e6a
commit
7658e3bde7
File diff suppressed because one or more lines are too long
@ -152,6 +152,10 @@ export default function handleSocket({
|
|||||||
handlers[type](data);
|
handlers[type](data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (type.charAt(0) === '_') {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
dispatch(action);
|
dispatch(action);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -13,6 +13,7 @@ export default class Socket {
|
|||||||
jitter: 0.25
|
jitter: 0.25
|
||||||
});
|
});
|
||||||
this.handlers = [];
|
this.handlers = [];
|
||||||
|
this.connected = false;
|
||||||
|
|
||||||
this.connect();
|
this.connect();
|
||||||
}
|
}
|
||||||
@ -26,6 +27,7 @@ export default class Socket {
|
|||||||
}, this.connectTimeout);
|
}, this.connectTimeout);
|
||||||
|
|
||||||
this.ws.onopen = () => {
|
this.ws.onopen = () => {
|
||||||
|
this.connected = true;
|
||||||
this.emit('_connected', true);
|
this.emit('_connected', true);
|
||||||
clearTimeout(this.timeoutConnect);
|
clearTimeout(this.timeoutConnect);
|
||||||
this.backoff.reset();
|
this.backoff.reset();
|
||||||
@ -33,7 +35,10 @@ export default class Socket {
|
|||||||
};
|
};
|
||||||
|
|
||||||
this.ws.onclose = () => {
|
this.ws.onclose = () => {
|
||||||
this.emit('_connected', false);
|
if (this.connected) {
|
||||||
|
this.connected = false;
|
||||||
|
this.emit('_connected', false);
|
||||||
|
}
|
||||||
clearTimeout(this.timeoutConnect);
|
clearTimeout(this.timeoutConnect);
|
||||||
clearTimeout(this.timeoutPing);
|
clearTimeout(this.timeoutPing);
|
||||||
if (!this.closing) {
|
if (!this.closing) {
|
||||||
@ -57,6 +62,7 @@ export default class Socket {
|
|||||||
|
|
||||||
if (msg.type === 'ping') {
|
if (msg.type === 'ping') {
|
||||||
this.send('pong');
|
this.send('pong');
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.emit(msg.type, msg.data);
|
this.emit(msg.type, msg.data);
|
||||||
|
Loading…
Reference in New Issue
Block a user