WebSocketStream: close() 方法

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

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

WebSocketStream 接口的 close() 方法用于关闭 WebSocket 连接。该方法可选地接受一个对象,其中包含一个自定义代码和/或原因,用以指示连接关闭的原因。

语法

js
close()
close(options)

参数

options 可选

一个包含以下属性的选项对象

closeCode 可选

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

reason 可选

一个字符串,代表连接关闭原因的可读描述。reason 字符串的最大允许长度为 123 字节。调用函数时,字符串会自动编码为 UTF-8。

注意: 根据服务器的设置和您使用的状态码,服务器可能会选择忽略自定义代码,转而使用一个与关闭原因相符的有效代码。有效代码包括 1000,以及 3000 到 4999(含)范围内的任何代码。

返回值

无 (undefined)。

异常

SyntaxError DOMException

如果提供的 reason 长度超过允许的最大长度 123 字节,则抛出此错误。

示例

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

setTimeout(() => {
  wss.close({
    closeCode: 1000,
    reason: "That's all folks",
  });
}, 10000);

规范

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

浏览器兼容性

另见