更新时间:2024-08-14 19:50:29
WritableStream
接口表示可写的数据流,也称为可写端。它基于 Web APIs 标准 WritableStream
接口设计,可以在 Edge Cloud Apps 函数中使用。
注意: 不支持直接构造 WritableStream
对象,需使用 TransformStream
构造获取。
WritableStream
表示一个用于写入数据的目标。它提供了用于写入数据块、关闭流和中止流的方法。
您可以从 TransformStream
获取 WritableStream
对象,如下所示:
const { readable, writable } = new TransformStream();
locked
boolean
(只读)流在以下情况下处于锁定状态:
releaseLock()
方法之前,该流将一直处于锁定状态。highWaterMark
number
(只读)注意: 以下所有方法的使用都要求当前流处于未锁定状态,否则会抛出异常。
getWriter()
writable.getWriter(): WritableStreamDefaultWriter;
返回值: 返回一个 WritableStreamDefaultWriter
对象。
描述: 创建一个 writer,并锁定当前流,直到 writer 调用 releaseLock()
方法释放锁。
close()
writable.close(): Promise<void>;
描述: 关闭当前流。
abort()
writable.abort(reason?: string): Promise<string>;
参数:
reason
(可选): 一个字符串,表示中止流的原因。描述: 中止当前流。
WritableStream
对象通常作为 TransformStream
的 writable
属性获取。将 ReadableStream
管道传输到 WritableStream
是写入数据的常见方式。
readableStream
.pipeTo(writableStream)
.then(() => console.log('所有数据已成功写入!'))
.catch(e => console.error('发生错误!', e));
要直接写入 WritableStream
,您必须使用其 writer。
const writer = writableStream.getWriter();
writer.write(data);