如何执行同步 WebSocket 连接

How can I carry out a Synchronous WebScoket Connection

我写了一段使用 webscokets 连接的代码。但是,当我正在寻找要关闭的连接时,它会继续执行而不等待连接关闭。换句话说 'connection.onclose' 是异步的,我怎样才能让它同步。我在 java 中编写的代码不多。因此,如果有人以同步方式重新编写这段代码,我会发现它非常有帮助。

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

}
alert('message!')

JavaScript 不允许您在同步代码中 wait,因此请使其异步。如果你需要它是同步的,那么它是可以的,但并不理想。
同步

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

异步

(async function() {
    var connection = new WebSocket('wss://IP:PORT');
    var e;
    await new Promise(function(res) {
        connection.onclose = function (event) {
            e = event.code;
            res(event);
        }
    });
    alert('message!');
})();