WebTransport: closed 屬性

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

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

WebTransport 介面的只讀屬性 closed 返回一個 Promise,該 Promise 在傳輸關閉時解析。

此 Promise 在建立 WebTransport 物件時建立,並在以任何方式關閉傳輸時解析,例如透過呼叫 close() 方法,連線失敗時,或由伺服器關閉連線時。訪問或等待此 Promise 不會觸發任何操作;它只允許在傳輸關閉時採取操作,類似於監聽事件。

一個 Promise,它解析為一個包含以下屬性的物件:

closeCode

一個表示錯誤程式碼的數字。

reason

一個表示關閉 WebTransport 原因的字串。

或者,在意外關閉(例如網路故障)的情況下,Promise 會被一個錯誤拒絕。

示例

js
const url = "https://example.com:4999/wt";

async function initTransport(url) {
  // Initialize transport connection
  const transport = new WebTransport(url);

  // The connection can be used once ready fulfills
  await transport.ready;

  // …
}

// …

async function closeTransport(transport) {
  // Respond to connection closing
  try {
    await transport.closed;
    console.log(`The HTTP/3 connection to ${url} closed gracefully.`);
  } catch (error) {
    console.error(`The HTTP/3 connection to ${url} closed due to ${error}.`);
  }
}

規範

規範
WebTransport
# dom-webtransport-closed

瀏覽器相容性

另見