JS Websockets-仍在重新连接,直到它'It’成功了

JS Websockets - still reconnecting until it's successful

本文关键字:It 成功 Websockets- 重新连接 JS      更新时间:2023-09-26

即使第一次尝试不成功,我也需要连接到websocket。我需要一些循环。

现在我有:

 ws = new WebSocket('ws://domain');
 if(!ws) return; 
 ws.onopen = function() {
                ws.send('getpayments '+ response );
 }; ...

我需要这样做,直到连接。请帮帮我。

不是真正的循环,而是递归重试:

var retry_connecting = function(domain, clb) {
    var ws = new WebSocket(domain);
    ws.onerror = function() {
        console.log('WS Error! Retrying...');
        // let the client breath for 100 millis
        setTimeout(function() {
            retry_connecting(domain, clb);
        }, 100);
    };
    ws.onopen = function() {
        clb(ws);
    };
};

和使用

retry_connecting('ws://domain', function(ws) {
    console.log('We are connected!');
});

此代码将尝试无限连接。我不建议那样做。但我相信你可以修改它,使其只运行有限的次数,然后在多次重试后返回错误。