Javascript 如何处理WebSocket.send错误 我正在编写一个Web应用程序——考虑它是基于WebSoCK的聊天。我需要确保用户输入的所有消息将以正确的顺序发送。我不应该丢失任何信息。我不应该两次传递任何消息

Javascript 如何处理WebSocket.send错误 我正在编写一个Web应用程序——考虑它是基于WebSoCK的聊天。我需要确保用户输入的所有消息将以正确的顺序发送。我不应该丢失任何信息。我不应该两次传递任何消息,javascript,websocket,Javascript,Websocket,当套接字关闭时,我得到了socket.onclose()回调。但是,在关闭套接字时可以调用socket.send(),但尚未调用onclose()回调。send()不返回任何内容,甚至不引发onerror()回调。如何确保socket.send()正确发送了消息 这是我写的代码。sendMessage()将消息推送到队列,flush()方法移动并发送所有消息。代码安全吗 queue: [], flush: function() { for

当套接字关闭时,我得到了socket.onclose()回调。但是,在关闭套接字时可以调用socket.send(),但尚未调用onclose()回调。send()不返回任何内容,甚至不引发onerror()回调。如何确保socket.send()正确发送了消息

这是我写的代码。sendMessage()将消息推送到队列,flush()方法移动并发送所有消息。代码安全吗

        queue: [],
        flush: function() {
            for (;;) {
                if (this.queue.length == 0) break;
                if (this.socket.readyState != 1) break; // *1*
                this.socket.send(this.queue[0]);        // *2*
                if (this.socket.readyState != 1) break; // *3*
                this.queue.shift();
            }
        },
        sendMessage: function(msg) {
            this.queue.push(msg);
            this.flush();
        }