저는 초보자 JavaScripter이며 V8 엔진 내부에서 진행되는 작업에 대한 실제 지식이 없습니다.
말했듯이, 실제로 node.js 환경에 대한 초기 단계를 즐기고 있지만 글로벌 이벤트를 생성하는 수단으로 events.EventEmitter ()를 지속적으로 사용하고 있다는 것을 알았습니다. Objective-C 또는 Python 프로그램에서 쓰는 것과 비슷한 패턴입니다.
나는 항상 다음과 같은 일을하고 있습니다.
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');
따라서 실제로 'async'node.js 코드를 원하는 순서대로 수행하는 코드로 구성하는 대신 "역방향으로 코딩"하는 것이 좋습니다. 콜백이 많은 방식으로 성능 측면에서나 철학 측면에서이를 수행하는 데 차이가 있습니까? 이벤트 대신 콜백을 사용하여 동일한 작업을 수행하는 것이 더 낫습니까?