Saya pemula JavaScripter dan tidak memiliki pengetahuan nyata tentang apa yang terjadi di dalam mesin V8.
Karena itu, saya benar-benar menikmati perampokan awal saya ke lingkungan node.js tapi saya menemukan bahwa saya terus-menerus menggunakan peristiwa .EventEmitter () sebagai sarana untuk memancarkan acara global sehingga saya dapat menyusun program saya agar sesuai dengan pengamat-pengamat Pola yang mirip dengan apa yang akan saya tulis mengatakan program Objective-C atau Python.
Saya selalu melakukan hal-hal seperti ini:
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');
Jadi pada dasarnya saya hanya menyusun kode 'async' node.js menjadi kode yang melakukan hal-hal dalam urutan yang saya harapkan, sebaliknya saya agak "coding mundur" jika itu masuk akal. Apakah akan ada perbedaan dalam melakukan ini dengan cara callback yang berat, baik dari segi kinerja atau dari segi filosofi? Apakah lebih baik melakukan hal yang sama menggunakan panggilan balik alih-alih acara?