Skip to content

Instantly share code, notes, and snippets.

@kapouer
Created June 12, 2012 21:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kapouer/2920372 to your computer and use it in GitHub Desktop.
Save kapouer/2920372 to your computer and use it in GitHub Desktop.
test removeListener and bind
var EE = require('events').EventEmitter;
var emitter = new EE();
var obj = {
fun: function() {
console.log('fun should be called once');
}
};
console.log("no problem");
var funbinded = obj.fun.bind(obj);
emitter.on('test', funbinded);
emitter.emit('test');
emitter.removeListener('test', funbinded);
emitter.emit('test');
console.log("problem");
emitter.on('test', obj.fun.bind(obj));
emitter.emit('test');
emitter.removeListener('test', obj.fun);
emitter.emit('test');
emitter.removeAllListeners('test');
console.log("same problem");
emitter.on('test', obj.fun.bind(obj));
emitter.emit('test');
emitter.removeListener('test', obj.fun.bind(obj));
emitter.emit('test');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment