<script> function createClient() { const client = new WebSocket(`ws://${location.host}`); client.addEventListener('open', () => console.log('opened')); client.addEventListener('close', () => console.log('closed')); return client; } function createAndDestroyClientAfterDelay(delay = 50) { const client = createClient(); return new Promise(resolve => { setTimeout(() => { client.close(); resolve(); }, delay); }); } async function main() { await createAndDestroyClientAfterDelay(); await createAndDestroyClientAfterDelay(); await createAndDestroyClientAfterDelay(); await createAndDestroyClientAfterDelay(); await fetch('fetch-request.js'); } main().then(() => console.log('done!')); </script>