Latest web development tutorials

funzione di callback Node.js

Direttamente riflette Node.js programmazione asincrona è il callback.

Basandosi sulla programmazione asincrona richiamata da raggiungere, ma non si può dire che dopo aver usato il callback del programma asincrono.

La funzione di callback verrà chiamata dopo il completamento del compito, Nodo utilizza un sacco di callback, Nodo API supporta tutte le funzioni di callback.

Ad esempio, siamo in grado di leggere il file di lato, mentre l'attuazione di altri comandi, dopo aver letto il documento è completo, ci sarà il contenuto dei file come argomento per la funzione ritorna callback. Nello svolgimento di codice non sono bloccati o in attesa di file di operazioni di I / O. Questo migliora notevolmente le prestazioni del Node.js può gestire un gran numero di richieste simultanee.


Blocco esempi di codice

Creare un file input.txt, recita:

本教程官网地址:www.w3big.com

Creare file di main.js, come segue:

var fs = require("fs");

var data = fs.readFileSync('input.txt');

console.log(data.toString());
console.log("程序执行结束!");

Il codice di cui sopra viene eseguita come segue:

$ node main.js
本教程官网地址:www.w3big.com

程序执行结束!

Non bloccante esempi di codice

Creare un file input.txt, recita:

本教程官网地址:www.w3big.com

Creare file di main.js, come segue:

var fs = require("fs");

fs.readFile('input.txt', function (err, data) {
    if (err) return console.error(err);
    console.log(data.toString());
});

console.log("程序执行结束!");

Il codice di cui sopra viene eseguita come segue:

$ node main.js
程序执行结束!
本教程官网地址:www.w3big.com

Capiamo le suddette due esempi di diversa blocco e le chiamate non-blocking. Dopo la prima istanza del file viene letto prima di eseguire il programma. La seconda istanza non abbiamo bisogno di aspettare di leggere il file completo, in modo che il codice successivo può essere eseguito nello stesso momento durante la lettura del file, migliorando notevolmente le prestazioni del programma.

Così, bloccando esso viene eseguito in sequenza, mentre non bloccante, non è necessaria, quindi se avete bisogno di gestire il parametro funzione di callback, abbiamo bisogno di scrivere nella funzione di callback.