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

瀏覽器相容性

另見