对node.js的新手来说,使用回调比事件有什么好处?
我是JavaScript新手,对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'); 因此,实际上,我只是将“异步” node.js代码结构化为按预期顺序执行操作的代码,如果可以的话,我有点“向后编码”。在性能上或哲学上以大量回调的方式执行此操作会有所区别吗?使用回调而不是事件来做相同的事情更好吗?