You are currently viewing Node.js Buffer | Метод Buffer.allocUnsafeSlow()

Node.js Buffer | Метод Buffer.allocUnsafeSlow()

Буфер — это временное хранилище памяти, в котором хранятся данные при их перемещении из одного места в другое. Это похоже на массив целых чисел. Метод Buffer.allocUnsafeSlow() выделяет новый экземпляр буфера заданного размера, но не инициализирует его.

Метод Buffer.allocUnsafeSlow() используется для выделения нового буфера заданного размера в байтах. Если заданный размер больше, чем buffer.constants. MAX_LENGTH или меньше 0, выдается значение ERR_INVALID_OPT_VALUE. Если размер равен нулю, то создается буфер нулевой длины.

Этот метод отличается от метода Buffer.allocUnsafe(). В методе allocUnsafe(), если размер буфера меньше 4 КБ, он автоматически вырезает необходимый буфер из предварительно выделенного буфера, т. е. не инициализирует новый буфер. Это экономит память, не выделяя много небольших экземпляров буфера. Но если разработчику необходимо удерживать некоторый объем оперативной памяти в течение промежуточного периода времени, можно использовать метод allocUnsafeSlow().

Синтаксис:

buffer.allocUnsafeSlow( size )

Параметры: Этот метод принимает один параметр size (размер) который содержит нужный размер буфера.

Примечание: Этот метод выдает ошибку типа, если размер не является числом.

Ниже приведены примеры, иллюстрирующие использование Метод Buffer.allocUnsafeSlow() в Node.js:

Пример 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 команда.