Sono un debuttante JavaScripter e non ho alcuna conoscenza di cosa succede all'interno del motore V8.
Detto questo, mi sto davvero godendo le mie prime incursioni nell'ambiente node.js, ma trovo che utilizzo costantemente events.EventEmitter () come mezzo per emettere eventi globali in modo da poter strutturare i miei programmi per adattarli a schema del notificatore-osservatore simile a quello che scriverei in un programma Objective-C o Python.
Mi trovo sempre a fare cose del genere:
var events = require('events');
var eventCenter = new events.EventEmitter();
eventCenter.on('init', function() {
var greeting = 'Hello World!';
console.log('We're in the init function!);
eventCenter.emit('secondFunction', greeting);
});
eventCenter.on('secondFunction', function(greeting) {
console.log('We're in the second function!);
console.log(greeting);
eventCenter.emit('nextFunction');
});
eventCenter.on('nextFunction', function {
/* do stuff */
});
eventCenter.emit('init');
Quindi in effetti sto solo strutturando il codice node.js 'asincrono' nel codice che fa le cose nell'ordine che mi aspetto, invece sono un po '"codificato all'indietro" se questo ha senso. Ci sarebbe qualche differenza nel fare questo in modo pesante come callback, sia per quanto riguarda le prestazioni che per la filosofia? È meglio fare la stessa cosa usando i callback al posto degli eventi?