writable.uncork()
writable.uncork()
方法会刷新自调用 stream.cork()
以来缓冲的所有数据。
当使用 writable.cork()
和 writable.uncork()
管理写入流的缓冲时,使用 process.nextTick()
推迟对 writable.uncork()
的调用。
这样做允许对在给定 Node.js 事件循环阶段中发生的所有 writable.write()
调用进行批处理。
stream.cork();
stream.write('some ');
stream.write('data ');
process.nextTick(() => stream.uncork());
如果在一个流上多次调用 writable.cork()
方法,则必须调用相同数量的 writable.uncork()
调用来刷新缓冲的数据。
stream.cork();
stream.write('some ');
stream.cork();
stream.write('data ');
process.nextTick(() => {
stream.uncork();
// 在第二次调用 uncork() 之前不会刷新数据。
stream.uncork();
});
另见: writable.cork()
。
The writable.uncork()
method flushes all data buffered since
stream.cork()
was called.
When using writable.cork()
and writable.uncork()
to manage the buffering
of writes to a stream, defer calls to writable.uncork()
using
process.nextTick()
. Doing so allows batching of all
writable.write()
calls that occur within a given Node.js event loop phase.
stream.cork();
stream.write('some ');
stream.write('data ');
process.nextTick(() => stream.uncork());
If the writable.cork()
method is called multiple times on a stream, the
same number of calls to writable.uncork()
must be called to flush the buffered
data.
stream.cork();
stream.write('some ');
stream.cork();
stream.write('data ');
process.nextTick(() => {
stream.uncork();
// The data will not be flushed until uncork() is called a second time.
stream.uncork();
});
See also: writable.cork()
.