Global, Process and buffer in Node.js
Last Updated :
05 Apr, 2023
Global: Global objects in node.js is available in all the modules and are scoped locally to their respective modules.
Some of the global objects are:
- exports
- module
- require
- __filename
- __dirname
The above objects and require functions can be accessed everywhere without importing.
Process: A process object is a global object that gives information about and controls the node.js process. As it is global, it can be used in the project without importing it from any module.
It is an instance of EventEmitter class and has many useful methods that help us in knowing more about the processes that happened and also about currently undergoing the process.
Important events of the process:
beforeExit Event: This event is triggered when the Node.js event loop is getting hollow and has no additional work scheduled. In general cases, the Node.js process will exit when there is no process left, but a listener registered on the 'beforeExit' can make asynchronous calls.
JavaScript
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.');
Output:
This code is rendered first.
Process beforeExit event with code.
Process exit event with code.
Exit Event: The 'exit' event is emitted when the Node.js process is about to exit as a result of either:
- The process.exit() method is called explicitly.
- The Node.js event loop no longer has any additional work to perform.
There is no way to prevent the exiting of the event loop at this point, and once all 'exit' listeners have finished running the Node.js process will terminate.
JavaScript
process.on('exit', (data) => {
console.log(`code execution is going to end `);
});
Output:
code execution is going to end
Apart from the above two main events, there are also many more events that come with process objects.
Buffer: The Buffer class in Node.js is made to handle raw binary data. Each buffer corresponds to some raw memory allocated outside V8. Buffers act somewhat like arrays of integers, but aren't resizable and have a whole bunch of methods specifically for binary data.
Creating a buffer:
let buffer = Buffer.alloc(6);
Output:
This will print out 6 bytes of zero
let buffer = Buffer.from("Welcome to GeeksforGeeks!", "utf-8");
Output:
This will print out a chain of values in utf-8
Writing to a buffer: If it contains two arguments, the first argument is the data and the second argument is the type of encoding.
buffer.write("GeeksForGeeks", "utf-8")
Output:
This will print out 13 as size of buffer
Reading a buffer: We can use the toString() method to read a buffer.
JavaScript
let buf = Buffer.from('GeeksForGeeks');
console.log(buf.toString());
Output:
GeeksForGeeks
Similar Reads
Node.js Process exit Event The process is the global object in Node.js that keeps track of and contains all the information of the particular node.js process that is executing at a particular time on the machine. The process.exit() method is the method that is used to end the Node.js process. Every process action on the mach
2 min read
Node.js Buffer.buffer Property The Buffer.buffer property is an inbuilt application programming interface of class Buffer within buffer module which is used to get the object of array buffer equivalent to this buffer object. Syntax: const buf.buffer Return Value: This property returns the object of array buffer. Example 1: Filena
1 min read
What are Buffers in Node.js ? Buffers are an essential concept in Node.js, especially when working with binary data streams such as files, network protocols, or image processing. Unlike JavaScript, which is typically used to handle text-based data, Node.js provides buffers to manage raw binary data. This article delves into what
4 min read
Node.js Process beforeExit Event The 'beforeExit' is an event of class Process within the process module which is emitted when Node.js empties its event loop and has no additional work to schedule. Syntax: Event: 'beforeExit'Parameters: This event does not accept any argument as the parameter. Return Value: This event returns nothi
2 min read
How to read and write files in Node JS ? NodeJS provides built-in modules for reading and writing files, allowing developers to interact with the file system asynchronously. These modules, namely fs (File System), offer various methods for performing file operations such as reading from files, writing to files, and manipulating file metada
2 min read