即使第一次尝试不成功,我也需要连接到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!');
});
此代码将尝试无限连接。我不建议那样做。但我相信你可以修改它,使其只运行有限的次数,然后在多次重试后返回错误。