Tôi là một JavaScripter mới làm quen và không có kiến thức thực sự về những gì diễn ra bên trong động cơ V8.
Phải nói rằng, tôi thực sự rất thích những bước đột phá đầu tiên của mình vào môi trường node.js nhưng tôi thấy rằng tôi liên tục sử dụng các sự kiện. mô hình tương tự như những gì tôi sẽ viết khi nói chương trình Objective-C hoặc Python.
Tôi thấy mình luôn làm những việc như thế này:
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');
Vì vậy, trong thực tế, tôi chỉ cấu trúc mã 'async' node.js thành mã thực hiện mọi thứ theo thứ tự tôi mong đợi, thay vào đó tôi là loại "mã hóa ngược" nếu điều đó hợp lý. Sẽ có bất kỳ sự khác biệt trong việc làm điều này theo cách gọi lại, nặng về hiệu suất hoặc khôn ngoan triết học? Có phải tốt hơn để làm điều tương tự bằng cách sử dụng các cuộc gọi lại thay vì các sự kiện?