let connectionAttempt = 0 function connectSocket() { const socket = new WebSocket('ws://localhost:8080') socket.addEventListener('open', () => { socket.send(JSON.stringify({ type: 'open', connectionAttempt })) }) socket.addEventListener('close', () => { connectionAttempt += 1 setTimeout(connectSocket(), 1000) }) socket.addEventListener('message', handleMessage) } function handleMessage({ data }) { console.log({ data }) if (data == 'reload') window.location.reload() } addEventListener('DOMContentLoaded', connectSocket)