假设我有一个以端口 nn 启动的节点服务器,并且上面没有任何 WebSocket 服务。

问题是我的客户端尝试将 WebSocket 服务连接到该服务器。

显然,它应该无法连接到服务器。

但我无法捕捉到这个错误,我的客户端代码如下:

try {
    this.ws = new WebSocket('ws://xxx:nn');
} catch ( e ) {
    fallback();
    console.warn(e);
}

我的期望是 fallback 方法在连接失败时被调用,但实际上错误没有被上面的 try...catch 捕获

有谁知道如何在我的用例中捕获错误?

最佳答案

您可以注册 websocket 对象的 onError 回调

exampleSocket.onerror=function(event){
    console.log("Error");
}

您可以引用以下示例。
http://jsfiddle.net/g28yuymv/1/

捕获错误示例
http://jsfiddle.net/g28yuymv/4/

关于javascript - 如何捕捉 `WebSocket connection to ' ws ://xxx:nn' failed: Connection closed before receiving a handshake response` error?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25779831/

10-16 22:07