Глобальный, процесс и буфер в Node.js
Global: глобальный объект в node.js доступен во всех модулях и локально ограничен их соответствующими модулями.
Некоторые из глобальных объектов:
- экспорт
- модуль
- требовать
- __имя файла
- __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