Node.js 中的流 writable.writableLength 属性
该writable.writableLength属性用于显示队列中准备写入的字节数或对象数。这用于根据 highWaterMark 的状态检查数据。
语法
writeable.writableLength
示例 1
创建一个具有名称的文件 -writableLength.js并复制以下代码片段。创建文件后,使用以下命令运行此代码,如下例所示 -
node writableLength.js
// 演示writable.writableLength方法的程序输出结果const stream = require('stream');
// 创建具有可写性的数据流
const writable = new stream.Writable({
// 从流中写入数据
write: function(chunk, encoding, next) {
// 转换要显示的数据块
console.log(chunk.toString());
next();
}
});
// 写入数据 - 不在缓冲队列中
writable.write('Hi - This data will not be counted');
// 调用 cork() 函数
writable.cork();
// 再次写入一些数据
writable.write('Welcome to nhooo !');
writable.write('SIMPLY LEARNING ');
writable.write('This data will be corked in the memory');
// 打印队列数据的长度
console.log(writable.writableLength);
C:\home\node>> node writableLength.jsHi - This data will not be counted
81
在控制台中计算并打印被塞住并在缓冲区队列内的数据。
示例
让我们再看一个例子。
// 演示 writable.cork() 方法的程序输出结果const stream = require('stream');
// 创建具有可写性的数据流
const writable = new stream.Writable({
// 从流中写入数据
write: function(chunk, encoding, next) {
// 转换要显示的数据块
console.log(chunk.toString());
next();
}
});
// 写入数据 - 不在缓冲队列中
writable.write('Hi - This data will not be counted');
// 调用 cork() 函数
writable.cork();
// 再次写入一些数据
writable.write('Welcome to nhooo !');
writable.write('SIMPLY LEARNING ');
writable.write('This data will be corked in the memory');
// 打印队列数据的长度
console.log(writable.writableLength);
// 从缓冲内存中刷新数据
writable.uncork()
console.log(writable.writableLength);
C:\home\node>> node writableLength.jsHi - This data will not be counted
81
Welcome to nhooo !
SIMPLY LEARNING
This data will be corked in the memory
0
由于现在数据已经在uncork(). 队列不会保存任何数据,这就是返回长度为 0 的原因。
以上是 Node.js 中的流 writable.writableLength 属性 的全部内容, 来源链接: utcz.com/z/331736.html