WritableStreamDefaultWriter:abort() 方法

Baseline 已廣泛支援

此功能已成熟,並可在許多裝置和瀏覽器版本上使用。自 2022 年 5 月以來,它已在各個瀏覽器中可用。

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

abort() 方法是 WritableStreamDefaultWriter 介面的一部分,它會中止流,通知生產者無法再成功地向流寫入資料,流將立即進入錯誤狀態,並丟棄所有排隊的寫入操作。

如果寫入器處於活動狀態,abort() 方法的行為與關聯的流(WritableStream.abort())相同。如果寫入器未處於活動狀態,則返回一個已拒絕的 Promise。

語法

js
abort()
abort(reason)

引數

reason 可選

一個字串,表示中止的可讀原因。

返回值

一個 Promise,當流被中止時,它會解析為 undefined;如果寫入器未處於活動狀態或接收流無效,則會拒絕並帶有一個錯誤。

異常

TypeError

您嘗試中止的流不是 WritableStream,或者它已被鎖定。

示例

js
const writableStream = new WritableStream(
  {
    write(chunk) {
      // …
    },
    close() {
      // …
    },
    abort(err) {
      // …
    },
  },
  queuingStrategy,
);

// …

const writer = writableStream.getWriter();

// …

// abort the stream when desired
await writer.abort("WritableStream aborted. Reason: ...");

規範

規範
Streams
# ref-for-default-writer-abort④

瀏覽器相容性