Node.js 中的 Stream writable.cork() 和 uncork() 方法
writable.cork()方法用于强制所有写入的数据缓冲在内存中。只有在调用stream.uncork()或stream.end()方法后,缓冲数据才会从缓冲存储器中删除。
语法
cork()
writeable.cork()
开塞()
writeable.uncork()
参数
因为它缓冲写入的数据。唯一需要的参数将是可写数据。
示例
创建一个名为 cork.js 的文件并复制以下代码片段。创建文件后,使用以下命令运行此代码,如下例所示 –
node cork.js
cork.js
现场演示
// Program to demonstrate writable.cork() method
const stream = require('stream');
// Creating a data stream with writable
const writable = new stream.Writable({
// Writing the data from stream
write: function(chunk, encoding, next) {
// Converting the data chunk to be displayed
console.log(chunk.toString());
next();
}
});
// Writing data
writable.write('Hi - This data is printed');
// Calling the cork() function
writable.cork();
// Again writing some data
writable.write('Welcome to TutorialsPoint !');
writable.write('SIMPLY LEARNING ');
writable.write('This data will be corked in the memory');
输出
C:\homeode>> node cork.js Hi - This data is printed
只有在 cork() 方法之间写入的数据才会被打印,而其余数据将被塞入缓冲存储器中。下面的示例展示了如何从缓冲区内存中解锁上述数据。
示例
让我们再看一个有关如何 uncork() 的示例 – uncork.js
现场演示
// Program to demonstrate writable.cork() method
const stream = require('stream');
// Creating a data stream with writable
const writable = new stream.Writable({
// Writing the data from stream
write: function(chunk, encoding, next) {
// Converting the data chunk to be displayed
console.log(chunk.toString());
next();
}
});
// Writing data
writable.write('Hi - This data is printed');
// Calling the cork() function
writable.cork();
// Again writing some data
writable.write('Welcome to TutorialsPoint !');
writable.write('SIMPLY LEARNING ');
writable.write('This data will be corked in the memory');
// Flushing the data from buffered memory
writable.uncork()
输出
C:\homeode>> node uncork.js Hi - This data is printed Welcome to TutorialsPoint ! SIMPLY LEARNING This data will be corked in the memory
使用 uncork() 方法刷新缓冲内存后,就会显示上面示例中的完整数据。
以上就是Node.js 中的 Stream writable.cork() 和 uncork() 方法的详细内容,更多请关注双恒网络其它相关文章!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。



