防止删除一个空的函数发生未定义报错

This commit is contained in:
yhh
2020-07-15 10:56:06 +08:00
parent dd65c60921
commit 13e7737cb9
5 changed files with 8 additions and 5 deletions

View File

@@ -4885,6 +4885,7 @@ var Emitter = (function () {
Emitter.prototype.removeObserver = function (eventType, handler) { Emitter.prototype.removeObserver = function (eventType, handler) {
var messageData = this._messageTable.get(eventType); var messageData = this._messageTable.get(eventType);
var index = messageData.findIndex(function (data) { return data.func == handler; }); var index = messageData.findIndex(function (data) { return data.func == handler; });
if (index != -1)
messageData.removeAt(index); messageData.removeAt(index);
}; };
Emitter.prototype.emit = function (eventType, data) { Emitter.prototype.emit = function (eventType, data) {

File diff suppressed because one or more lines are too long

View File

@@ -4885,6 +4885,7 @@ var Emitter = (function () {
Emitter.prototype.removeObserver = function (eventType, handler) { Emitter.prototype.removeObserver = function (eventType, handler) {
var messageData = this._messageTable.get(eventType); var messageData = this._messageTable.get(eventType);
var index = messageData.findIndex(function (data) { return data.func == handler; }); var index = messageData.findIndex(function (data) { return data.func == handler; });
if (index != -1)
messageData.removeAt(index); messageData.removeAt(index);
}; };
Emitter.prototype.emit = function (eventType, data) { Emitter.prototype.emit = function (eventType, data) {

File diff suppressed because one or more lines are too long

View File

@@ -34,6 +34,7 @@ class Emitter<T> {
public removeObserver(eventType: T, handler: Function){ public removeObserver(eventType: T, handler: Function){
let messageData = this._messageTable.get(eventType); let messageData = this._messageTable.get(eventType);
let index = messageData.findIndex(data => data.func == handler); let index = messageData.findIndex(data => data.func == handler);
if (index != -1)
messageData.removeAt(index); messageData.removeAt(index);
} }