// Соединение
const socket = new WebSocket('ws://localhost:8888')
// Очередь сообщений
let queue = []
// Отправляет сообщение
function sendMessage(message) {
// Проверка, установлено ли соединение
if (socket.readyState !== WebSocket.OPEN) {
// Ежели нет, добавляем сообщение в очередь
queue.push(message)
return
}
// Отправляет сообщение, если есть соединение
socket.send(message)
}
// Обработка события открытия соединения
socket.addEventListener('open', () => {
// При открытии соединение тут же отправляем накопленные сообщения
queue.forEach(message => {
sendMessage(message)
})
// Очищаем очередь
queue = []
})