1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| export var msgHandler = {};
msgHandler.msgQueue = {};
msgHandler.on = (eventType, handler) => { if (!(eventType in msgHandler.msgQueue)) { msgHandler.msgQueue[eventType] = []; }
msgHandler.msgQueue[eventType].push(handler); }
msgHandler.emit = (eventType, data) => { for (var i = 0; msgHandler.msgQueue[eventType] && i < msgHandler.msgQueue[eventType].length; i++) { msgHandler.msgQueue[eventType][i].call(this, data); } }
msgHandler.off = (eventType, handler) => { var currentEvent = msgHandler.msgQueue[eventType]; var len = 0; if (currentEvent) { len = currentEvent.length; for (var i = len - 1; i >= 0; i--) { if (currentEvent[i] === handler) { currentEvent.splice(i, 1); } } } }
|