123456789101112131415161718192021222324252627282930 |
- var EventEmitter = {
- _events: {},
- dispatch: function (event, data) {
- if (!this._events[event]) { // 没有监听事件
- return;
- }
-
- for(var cb of this._events[event].values()) {
- cb(data);
- }
- //let arr = this._events[event].values();
- //arr.forEach(function (cb) {
- // cb(data);
- //})
- },
- subscribe: function (event, source, callback) {
- // 创建一个新事件数组
- if (!this._events[event]) {
- this._events[event] = new Map();
- }
- this._events[event].set(source, callback);
-
- },
- unsubscribe: function (event, source) {
- if(this._events && this._events[event]) {
- this._events[event].delete(source);
- }
- }
- };
|