缓冲区是一种临时存储器,用于在将数据从一个位置移动到另一位置时存储数据。就像整数数组一样。 Buffer.allocUnsafeSlow()方法分配给定大小的新缓冲区实例,但不对其进行初始化。
Buffer.allocUnsafeSlow()方法用于分配给定大小的新Buffer(字节)。如果给定的大小大于buffer.constants.MAX_LENGTH或小于0,则抛出ERR_INVALID_OPT_VALUE。如果大小为零,则创建零长度缓冲区。
此方法不同于Buffer.allocUnsafe()方法。在allocUnsafe()方法中,如果缓冲区大小小于4KB,则它会自动从预分配的缓冲区中切出所需的缓冲区,即不会初始化新的缓冲区。通过不分配许多小的Buffer实例来节省内存。但是,如果开发人员需要在一段时间内保留一定数量的开销内存,则可以使用allocUnsafeSlow()方法。
用法:
buffer.allocUnsafeSlow( size )
参数:此方法接受单个参数大小,该参数大小将保留所需的缓冲区大小。
Note:如果size不是数字,则此方法引发TypeError。
以下示例说明了Node.js中Buffer.allocUnsafeSlow()方法的使用:
范例1:
// Node.js program to demonstrate the
// Buffer.allocUnsafeSlow() Method
// Creating a buffer
const buffer = Buffer.allocUnsafe(10);
// Display the buffer containing random values
console.log("allocUnsafeSlow() Method");
console.log(buffer);
输出:
allocUnsafeSlow() Method <Buffer 01 00 00 00 00 00 00 00 8b ed>
范例2:
// Node.js program to demonstrate the
// Buffer.allocUnsafeSlow() Method
// Creating a buffer
const buffer = Buffer.allocUnsafe(4);
// Print:random string everytime we run the
// program as we have not added
// anything to the buffer yet
console.log(buffer.toString());
for (let i = 0; i < 4; i++) {
//filling the values in buffer
buffer[i] = i + 97;
}
// Adds and Print:'abcd' as 97 98 99 100 101
// are their respective ASCII values
console.log(buffer.toString());
输出:
rite abcd
注意:上面的程序将通过使用node index.js
命令。
参考: https://nodejs.org/api/buffer.html#buffer_class_method_buffer_allocunsafeslow_size
相关用法
注:本文由纯净天空筛选整理自Abhishek7大神的英文原创作品 Node.js | Buffer.allocUnsafeSlow() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。