使用事件的更好方法是什么?
A)
var doorBell = new events.EventEmitter()
var light = new events.EventEmitter()
doorBell.emit('open')
light.emit('on')
doorBell.on('open', function(){
console.log('The door is open!');
});
light.on('on', function(){
console.log('The lights are on');
});
B)
var house = new events.EventEmitter()
house.emit('doorOpen')
house.emit('lightOn')
house.on('doorOpen', function(){
console.log('The door is open!');
});
house.on('lightOn', function(){
console.log('The lights are on');
});
我想知道两者之间是否有任何区别,性能方面或确实有什么区别......
最佳答案
我有点不喜欢给出这个答案,但我想说这取决于。
如您所知,两种变体都有效,因此这只是一个偏好问题。对象隐藏了复杂性,使用事件时应牢记这一想法。在您的示例中,我认为使用一个 house 对象来发出开灯和按门铃的事件是完全可以的。
正如您所预见的,添加事件会在某个时刻变得困惑。所以某个事件是否属于某个对象的范围的边界在哪里,你得自己判断。
关于javascript - 我什么时候应该使用多个事件名称和不同的事件发射器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29970738/