在发送邮件之前,如何等待websocket连接?

时间:2017-08-01 09:19:00

标签: javascript reactjs websocket react-redux

我正在使用websockets来获取我正在创建的react-redux应用程序的数据,虽然我正在发送执行动作发送消息,如果没有连接到websocket,则保持数组中的消息然后当websocket connected(onopen)我发送的所有消息的Date.now()都不到10分钟。

这可以吗?或者是否有适当的方法来处理这种行为。

组件

componentDidMount() {
    this.props.actions.getData()
}

套接字处理程序

let heldMessages = [];
/* ...Socket setup */
socket.onopen = () => {
    if(heldMessages.length) {
        heldMessages.forEach(msg => {
            // In last 10 Minutes
            if(msg.time > (Date.now() - 600000)) {
                sendData(msg.data);
            }
       });
       heldMessages = [];
    }
}

/* ... misc functions */

function sendData(obj) {
     if(connected) {
         /* ...socket sending logic */
     } else {
         heldMessages.push({ time: Date.now(), data: obj });
     }
 }

0 个答案:

没有答案