Javascript 如何执行同步WebScoket连接

Javascript 如何执行同步WebScoket连接,javascript,websocket,connection,synchronous,Javascript,Websocket,Connection,Synchronous,我编写了一段代码,使用WebCokets进行连接。但是,当我寻找要关闭的连接时,它会继续执行,而不必等待连接关闭。换句话说,“connection.onclose”是异步的,如何使其同步。我用java编写的代码不多。因此,如果有人以同步方式重新编写这段代码,我会发现这非常有用 var connection = new WebSocket('wss://IP:PORT'); connection.onclose = function (event) { e = (event.code);

我编写了一段代码,使用WebCokets进行连接。但是,当我寻找要关闭的连接时,它会继续执行,而不必等待连接关闭。换句话说,“connection.onclose”是异步的,如何使其同步。我用java编写的代码不多。因此,如果有人以同步方式重新编写这段代码,我会发现这非常有用

var connection = new WebSocket('wss://IP:PORT');
connection.onclose = function (event) {
    e = (event.code);

}
alert('message!')

JavaScript不允许您在同步代码中等待,所以要使其异步。如果您需要同步,那么这是可能的,但并不理想。
同步

var连接=新的WebSocket('wss://IP:PORT');
变量e;
函数nextstuff(){
警报(“消息!”);
};
connection.onclose=函数(事件){
e=(event.code);
nextstuff();
};
异步

(异步函数(){
var连接=新的WebSocket('wss://IP:PORT');
变量e;
等待新的承诺(功能(res){
connection.onclose=函数(事件){
e=事件代码;
res(事件);
}
});
警报(“消息!”);
})();