nodejs 中模拟实现 emmiter 自定义事件
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <script> function Emitter() { this.events = {}; //存放事件的地方 } Emitter.prototype.on = function(type, cb) { var events = this.events; events = events[type] = events[type] || []; events.push(cb); }; Emitter.prototype.emit = function(type) { var args = [].slice.call(arguments, 1); var cbs = this.events[type], cb; while (cb = cbs && cbs.shift()) { cb.apply(this, args); } }; var emitter = new Emitter(); emitter.on('customevent', function(param) { alert(param); }); emitter.on('customevent', function() { alert(1); }); emitter.emit('customevent', 'xxx'); </script> </head> <body> </body></html>
新闻热点
疑难解答