当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Node.js Buffer.allocUnsafeSlow()用法及代码示例


缓冲区是一种临时存储器,用于在将数据从一个位置移动到另一位置时存储数据。就像整数数组一样。 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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。