Глобальный, процесс и буфер в Node.js

Опубликовано: 30 Июля, 2021

Global: глобальный объект в node.js доступен во всех модулях и локально ограничен их соответствующими модулями.

Некоторые из глобальных объектов:

  1. экспорт
  2. модуль
  3. требовать
  4. __имя файла
  5. __dirname

Вышеупомянутые объекты и функция require могут быть доступны везде без импорта.

Процесс: объект процесса - это глобальный объект, который предоставляет информацию о процессе node.js и контролирует его. Поскольку он глобален, его можно использовать в проекте, не импортируя его из какого-либо модуля.

Это экземпляр класса EventEmitter и имеет множество полезных методов, которые помогают нам больше узнать о происходящих процессах, а также о текущих процессах.

Важные события процесса:

Событие beforeExit: это событие запускается до того, как цикл событий Node.js становится освященным и не имеет запланированной дополнительной работы. В общих случаях процесс Node.js завершается, когда не остается процесса, но прослушиватель, зарегистрированный в 'beforeExit', может выполнять асинхронные вызовы.




const process = require( 'process' );
process.on( 'beforeExit' , (data) => {
console.log( 'Process beforeExit event with code.' );
});
process.on( 'exit' , (data) => {
console.log( 'Process exit event with code' );
});
console.log( 'This code is rendered first.' );

Выход:

Этот код отображается первым.
Обработать событие beforeExit с помощью кода.
Событие выхода процесса с кодом.

Событие выхода: событие выхода генерируется, когда процесс Node.js собирается завершить работу в результате одного из следующих событий:

  • Явно вызывается метод process.exit ().
  • Циклу событий Node.js больше не нужно выполнять дополнительную работу.

На этом этапе невозможно предотвратить выход из цикла событий, и как только все обработчики выхода завершат выполнение, процесс Node.js завершится.




process.on( 'exit' , (data) => {
console.log(`code excution is goint to end `);
});

Выход:

 Кодекс готов к концу

Помимо двух вышеупомянутых основных событий, есть также много других событий, которые связаны с объектом процесса.

Буфер: класс Buffer в Node.js предназначен для обработки необработанных двоичных данных. Каждый буфер соответствует некоторой необработанной памяти, выделенной вне V8. Буферы действуют как массивы целых чисел, но их размер нельзя изменить, и в них есть целый набор методов, специально предназначенных для двоичных данных.

Создание буфера:

  •  var buffer = Buffer.alloc (6);

    Выход:

     Это распечатает 6 байтов нуля
  •  var buffer = Buffer.from («Добро пожаловать в GeeksforGeeks!», «utf-8»);

    Выход:

     Это распечатает цепочку значений в utf-8

    Запись в буфер: если он содержит два аргумента, первый аргумент - это данные, а второй - тип кодирования.

     buffer.write ("GeeksForGeeks", "utf-8")

    Выход:

     Это напечатает 13 как размер буфера

    Чтение буфера: мы можем использовать метод toString () для чтения буфера.




    var buf = Buffer.from( 'GeeksForGeeks' );
    console.log(buf.toString());

    Выход:

     GeeksForGeeks