Concepto de devolución de llamada de Node.js

Una devolución de llamada es una función que se llama cuando se completa una tarea, por lo que ayuda a prevenir cualquier tipo de bloqueo y una función de devolución de llamada permite que se ejecute otro código mientras tanto. La devolución de llamada se llama cuando la tarea se completa y es equivalente asíncrono para una función. Usando el concepto de devolución de llamada, Node.js puede procesar una gran cantidad de requests sin esperar que ninguna función devuelva el resultado, lo que hace que Node.js sea altamente escalable. Por ejemplo: en Node.js, cuando una función comienza a leer un archivo, devuelve el control al entorno de ejecución inmediatamente para que se pueda ejecutar la siguiente instrucción. Una vez que se complete la E/S del archivo, se llamará a la función de devolución de llamada para evitar el bloqueo o esperar la E/S del archivo.

Ejemplo 1: Código para leer un archivo de forma síncrona (código de bloqueo) en Node.js. Cree un archivo de texto inputfile1.txt con el siguiente contenido:

Hello Programmer!!!
Learn NodeJS with GeeksforGeeks

Cree un archivo sync.js con el siguiente código:

// Write JavaScript code
var fs = require("fs");
var filedata = fs.readFileSync('inputfile1.txt');
console.log(filedata.toString());
console.log("End of Program execution");

Explicación: la biblioteca fs está cargada para manejar operaciones relacionadas con el sistema de archivos. La función readFileSync() es síncrona y bloquea la ejecución hasta que finaliza. La función bloquea el programa hasta que lee el archivo y solo entonces procede a finalizar el programa
Salida:

Ejemplo 2: Código para leer un archivo de forma asíncrona (código sin bloqueo) en Node.js. Cree un archivo de texto inputfile1.txt con el siguiente contenido.

Hello Programmer!!!
Learn NodeJS with GeeksforGeeks

Cree un archivo async.js con el siguiente código:

// Write a JavaScript code
var fs = require("fs");  
    
fs.readFile('inputfile1.txt', function (ferr, filedata) {  
    if (ferr) return console.error(ferr);  
    console.log(filedata.toString());  
}); 
console.log("End of Program execution");  

Explicación: la biblioteca fs está cargada para manejar operaciones relacionadas con el sistema de archivos. La función readFile() es asíncrona y el control regresa inmediatamente a la siguiente instrucción en el programa mientras la función sigue ejecutándose en segundo plano. Se pasa una función de devolución de llamada que se llama cuando finaliza la tarea que se ejecuta en segundo plano.
Producción:

Publicación traducida automáticamente

Artículo escrito por chaitanyashah707 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 *