Je suis un JavaScripter novice et je n'ai aucune connaissance réelle de ce qui se passe à l'intérieur du moteur V8.
Cela dit, j'apprécie vraiment mes premières incursions dans l'environnement node.js, mais je trouve que j'utilise constamment events.EventEmitter () comme moyen d'émettre des événements globaux afin de pouvoir structurer mes programmes en fonction d'un notificateur-observateur modèle similaire à ce que j'écrirais, par exemple un programme Objective-C ou Python.
Je me retrouve toujours à faire des choses comme ça:
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');
Donc, en fait, je suis juste en train de structurer le code node.js 'async' en un code qui fait les choses dans l'ordre que j'attends, au lieu de cela je suis plutôt en train de "coder à l'envers" si cela a du sens. Y aurait-il une différence à le faire de manière intensive, que ce soit en termes de performances ou de philosophie? Est-il préférable de faire la même chose en utilisant des rappels au lieu d'événements?