Global, Proceso y búfer en Node.js

Global: los objetos globales en node.js están disponibles en todos los módulos y tienen un alcance local para sus respectivos módulos.

Algunos de los objetos globales son:

  1. exportaciones
  2. módulo
  3. requerir
  4. __Nombre del archivo
  5. __dirname

Se puede acceder a los objetos anteriores y la función requerida desde cualquier lugar sin importar.

Proceso: el objeto de proceso es un objeto global que brinda información y control sobre el proceso de node.js. Como es global, se puede utilizar en el proyecto sin importarlo desde ningún módulo. 

Es una instancia de la clase EventEmitter y tiene muchos métodos útiles que nos ayudan a saber más sobre los procesos que ocurrieron y también sobre los procesos que se están realizando actualmente.

Eventos importantes del proceso:

Evento beforeExit: este evento se activa antes de que el bucle de eventos de Node.js se esté volviendo sagrado y no tenga trabajo adicional programado. En casos generales, el proceso de Node.js se cerrará cuando no quede ningún proceso, pero un agente de escucha registrado en ‘beforeExit’ puede realizar llamadas asincrónicas.

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.');

Producción: 

This code is rendered first.
Process beforeExit event with code.
Process exit event with code.

Evento de salida: el evento de ‘salida’ se emite cuando el proceso de Node.js está a punto de salir como resultado de:

  • El método process.exit() se llama explícitamente.
  • El bucle de eventos de Node.js ya no tiene ningún trabajo adicional que realizar.

No hay forma de evitar la salida del bucle de eventos en este punto, y una vez que todos los oyentes de ‘salida’ hayan terminado de ejecutarse, el proceso de Node.js terminará.

Javascript

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

Producción: 

code execution is going to end

Además de los dos eventos principales anteriores, también hay muchos más eventos que vienen con el objeto de proceso. 

Buffer: la clase Buffer en Node.js está diseñada para manejar datos binarios sin procesar. Cada búfer corresponde a alguna memoria sin procesar asignada fuera de V8. Los búferes actúan como arreglos de números enteros, pero no son redimensionables y tienen un montón de métodos específicos para datos binarios.

Crear un búfer: 

var buffer = Buffer.alloc(6); 
  • Producción:
This will print out 6 bytes of zero
var buffer = Buffer.from("Welcome to GeeksforGeeks!", "utf-8");
  • Producción:
This will print out a chain of values in utf-8

Escritura en un búfer: si contiene dos argumentos, el primer argumento son los datos y el segundo argumento es el tipo de codificación.

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

Producción:

This will print out 13 as size of buffer

Lectura de un búfer: Podemos usar el método toString() para leer un búfer.

Javascript

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

Producción:

GeeksForGeeks

Publicación traducida automáticamente

Artículo escrito por bunnyram19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *