緩衝區是一種臨時存儲器,用於在將數據從一個位置移動到另一位置時存儲數據。就像整數數組一樣。 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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。