nodejs 中模拟实现 emmiter 自定义事件
nodejs中模拟实现emmiter自定义事件
<!DOCTYPEhtml>
<html>
<head>
<metacharset="UTF-8">
<title></title>
<script>
functionEmitter(){
this.events={};//存放事件的地方
}
Emitter.prototype.on=function(type,cb){
varevents=this.events;
events=events[type]=events[type]||[];
events.push(cb);
};
Emitter.prototype.emit=function(type){
varargs=[].slice.call(arguments,1);
varcbs=this.events[type],cb;
while(cb=cbs&&cbs.shift()){
cb.apply(this,args);
}
};
varemitter=newEmitter();
emitter.on('customevent',function(param){
alert(param);
});
emitter.on('customevent',function(){
alert(1);
});
emitter.emit('customevent','xxx');
</script>
</head>
<body>
</body>
</html>