WebSocketStream: closed 属性

实验性: 这是一项实验性技术
在生产中使用此技术之前,请仔细检查浏览器兼容性表格

注意:此功能在 Web Workers 中可用。

WebSocketStream 接口的只读属性 closed 返回一个 Promise,该 Promise 在套接字连接关闭时会 fulfilled 并带有一个对象。该对象包含关闭代码和原因。

一个 Promise,该 Promise 在 fulfilled 时会带有一个包含以下属性的对象

closeCode

一个表示关闭代码的数字(请参阅 CloseEvent 状态码的完整列表)。

reason

一个表示套接字连接关闭原因的可读字符串。

如果 WebSocket 连接未干净地关闭,则 Promise 会 reject(对于干净关闭,必须在 WebSocket 关闭握手完成后之后关闭相关的 TCP 连接)。

示例

js
const wsURL = "wss://127.0.0.1/";
const wss = new WebSocketStream(wsURL);

wss.closed.then((result) => {
  writeToScreen(
    `DISCONNECTED: code ${result.closeCode}, message "${result.reason}"`,
  );
  console.log("Socket closed", result.closeCode, result.reason);
});

有关完整示例和详细说明,请参阅 使用 WebSocketStream 编写客户端

规范

目前不是任何规范的一部分。有关标准化进展,请参阅 https://github.com/whatwg/websockets/pull/48

浏览器兼容性

另见