Acemi bir JavaScripter'im ve V8 motorunun içinde neler olup bittiğiyle ilgili hiçbir bilgim yok.
Bunu söyledikten sonra, node.js ortamına ilk girişimlerimden gerçekten zevk alıyorum ancak programlarımın bir notifier-gözlemcisine uyacak şekilde yapılandırabilmem için, global olayları yaymanın bir aracı olarak sürekli events.EventEmitter () kullanıyorum yazdıklarıma benzer bir model bir Objective-C veya Python programı.
Kendimi hep böyle şeyler yaparken buluyorum:
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');
Bu yüzden aslında sadece "async" node.js kodunu beklediğim sırada iş yapan koda yapıyorum, bunun yerine bir tür "geriye doğru kodlama" yapıyorum. Bunu performans açısından ya da felsefe açısından geri arama ağırlıklı bir şekilde yapmanın herhangi bir farkı olur mu? Aynı şeyi olaylar yerine geri çağırmaları kullanarak yapmak daha mı iyidir?