WritableStreamDefaultWriter.abort()

WritableStreamDefaultWriter 接口的 abort() 方法用于中止流,表示生产者不能再向流写入数据(会立刻返回一个错误状态),并丢弃所有已入队的数据。

如果 writer 处于活动状态,则 abort() 方法的行为与关联流(WritableStream.abort())的行为相同。如果不是,则返回一个被拒绝的 promise。

语法

js
abort()
abort(reason)

参数

reason 可选

一个字符串,用于提供人类可读的中止原因。

返回值

一个 Promise,会在成功时用给定的 reason 参数兑现。

异常

TypeError

它尝试中止的流不是一个 WritableStream,或者它已被锁定。

示例

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

...

const writer = writableStream.getWriter();

...

// abort the stream when desired
writer.abort.then((reason) => {
  console.log(reason);
})

规范

Specification
Streams Standard
# ref-for-default-writer-abort④

浏览器兼容性

BCD tables only load in the browser