Función que detiene la ejecución del script hasta que finaliza.
Por ejemplo, si tuviera una función en mi lengua que se utiliza para escribir en un archivo, así:
fwrite(file, "Contents");
print("Wrote to file!");
La declaración print
sólo se ejecuta una vez que el archivo se ha escrito en el disco . Todo el programa es detenido en esta instrucción. Esto no es perceptible para los pequeños escribe lo suficiente, pero imagina que tenía una enorme burbuja a escribir en el fichero, que tuvo muchos segundos:
fwrite(file, blob);
print("Wrote to file!");
sólo se ejecuta la instrucción print
después de unos segundos de la escritura, y todo el programa se detendría por ese momento. En Node.js, esto se hace asincrónicamente, usando eventos y callbacks. Nuestro ejemplo sería:
fwrite(file, blob, function() {
print("Wrote to file!");
});
print("Do other stuff");
Donde el tercer parámetro es una función que se debe llamar una vez que se ha escrito el archivo. La instrucción print
ubicada después de la función de escritura se invocaría inmediatamente después, independientemente de que el archivo se haya escrito o no. Así que si tuviéramos que escribir una gota lo suficientemente grande, el resultado sería algo como esto:
Do other stuff
Wrote to file!
Esto hace applictions muy rápido porque usted no está esperando en un mensaje del cliente, un archivo de escritura u otro. Puede seguir procesando los datos de forma paralela. Esto es considerado por muchos de los puntos fuertes de Node.js.