即使第一次尝试不成功,我也需要连接到websocket。我需要一些循环。
现在我有:
ws = new WebSocket('ws://domain');
if(!ws) return;
ws.onopen = function() {
ws.send('getpayments '+ response );
}; ...
我需要这样做才能连接。 请帮我。
答案 0 :(得分:0)
不是真正的循环,而是递归重试:
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!');
});
此代码将尝试无限制地连接广告。我不推荐这个。但是我确定你能够修改它只运行有限次数,然后在重试太多后返回错误。