當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。