我尝试编写一个连接到 WebSocket 服务器的函数。此服务器关闭时会出现此问题。这个函数应该等待它,即使很长时间,但它不应该消耗 100% 的 CPU。这是我的代码:
var state = {
connected: false
};
var settings = {
host: 'localhost',
port: 1988
};
function connect(settings) {
try {
var socket;
var host = 'ws://' + settings.host + ':' + settings.port;
var socket = new WebSocket(host);
socket.onopen = function() {
state.connected = true;
}
// socket.onmessage
socket.onclose = function() {
state.connected = false;
connect(settings);
}
} catch(e){
console.log(e);
}
}
所以我需要以某种方式将一个间隔传递给 WebSocket 构造函数,看起来它只是试图在循环中打开一个连接,从而降低性能。我怎样才能做到这一点?