event-emitter-for-miniprogram
Advanced tools
Comparing version 0.10.1 to 0.10.2
@@ -47,11 +47,15 @@ /* eslint-disable */ | ||
var self = this; | ||
callable(listener); | ||
this.on.call(self, type, function once() { | ||
this.off.call(self, type, once); | ||
var once = function once() { | ||
self.off(type, once); | ||
listener.apply(self, arguments); | ||
}); | ||
}; | ||
once.__eeOnceListener__ = listener; | ||
this.on(type, once); | ||
return this; | ||
} | ||
EventEmitter.prototype.off = function (type, listener) { | ||
@@ -69,6 +73,7 @@ if (!hasOwnProperty.call(this, namespace)) return this; | ||
var listenerIndex = listeners.indexOf(listener); | ||
if (listenerIndex > -1) { | ||
listeners.splice(listenerIndex, 1); | ||
for (var i = 0; i < listeners.length; i++) { | ||
if (listeners[i] === listener || listeners[i].__eeOnceListener__ === listener) { | ||
listeners.splice(i, 1); | ||
break; | ||
} | ||
} | ||
@@ -75,0 +80,0 @@ } |
{ | ||
"name": "event-emitter-for-miniprogram", | ||
"version": "0.10.1", | ||
"version": "0.10.2", | ||
"description": "event-emitter adapted for wechat miniprogram", | ||
@@ -18,3 +18,3 @@ "main": "event-emitter.js", | ||
}, | ||
"gitHead": "d38861b70471a853178bc29822126af7a29b94a6" | ||
"gitHead": "ef0e77bd73a83705430000eca73494d4d4de41b2" | ||
} |
4297
85