node.js中的events.emitter.removeListener方法使用说明
作者:bea
方法说明: 移除指定事件的某个监听器。 语法: 代码如下: emitter.removeListener(event, listener) 接收参数: event (string) 事件类型 listener (function) 已注册过的监听器 例子: 代码如下: var callback = function(stream) { console.log('someone connected!'); }; server.on('connection
方法说明:
移除指定事件的某个监听器。
语法:
代码如下:
emitter.removeListener(event, listener)
接收参数:
event (string) 事件类型
listener (function) 已注册过的监听器
例子:
代码如下:
var callback = function(stream) {
console.log('someone connected!');
};
server.on('connection', callback);
// ...
server.removeListener('connection', callback);
源码:
代码如下:
// emits a 'removeListener' event iff the listener was removed
EventEmitter.prototype.removeListener = function(type, listener) {
var list, position, length, i;
if (!util.isFunction(listener))
throw TypeError('listener must be a function');
if (!this._events || !this._events[type])
return this;
list = this._events[type];
length = list.length;
position = -1;
if (list === listener ||
(util.isFunction(list.listener) && list.listener === listener)) {
delete this._events[type];
if (this._events.removeListener)
this.emit('removeListener', type, listener);
} else if (util.isObject(list)) {
for (i = length; i-- > 0;) {
if (list[i] === listener ||
(list[i].listener && list[i].listener === listener)) {
position = i;
break;
}
}
if (position < 0)
return this;
if (list.length === 1) {
list.length = 0;
delete this._events[type];
} else {
list.splice(position, 1);
}
if (this._events.removeListener)
this.emit('removeListener', type, listener);
}
return this;
};
有用 | 无用
移除指定事件的某个监听器。
语法:
代码如下:
emitter.removeListener(event, listener)
接收参数:
event (string) 事件类型
listener (function) 已注册过的监听器
例子:
代码如下:
var callback = function(stream) {
console.log('someone connected!');
};
server.on('connection', callback);
// ...
server.removeListener('connection', callback);
源码:
代码如下:
// emits a 'removeListener' event iff the listener was removed
EventEmitter.prototype.removeListener = function(type, listener) {
var list, position, length, i;
if (!util.isFunction(listener))
throw TypeError('listener must be a function');
if (!this._events || !this._events[type])
return this;
list = this._events[type];
length = list.length;
position = -1;
if (list === listener ||
(util.isFunction(list.listener) && list.listener === listener)) {
delete this._events[type];
if (this._events.removeListener)
this.emit('removeListener', type, listener);
} else if (util.isObject(list)) {
for (i = length; i-- > 0;) {
if (list[i] === listener ||
(list[i].listener && list[i].listener === listener)) {
position = i;
break;
}
}
if (position < 0)
return this;
if (list.length === 1) {
list.length = 0;
delete this._events[type];
} else {
list.splice(position, 1);
}
if (this._events.removeListener)
this.emit('removeListener', type, listener);
}
return this;
};
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- 完美兼容各大浏览器的jQuery插件实现图片切换特效
- windows8.1+iis8.5下安装node.js开发环境
- jQuery 和 CSS 的文本特效插件集锦
- js使用递归解析xml
- 做web开发 先学JavaScript
- 兼容主流浏览器的JS复制内容到剪贴板
- Javascript模拟加速运动与减速运动代码分享
- javascript中HTMLDOM操作详解
- javascript实现修改微信分享的标题内容等
- javascript表单验证和Window详解
- 使用百度地图api实现根据地址查询经纬度
- javascript实现倒计时N秒后网页自动跳转代码
- node.js中的buffer.Buffer.byteLength方法使用说明
- node.js中的buffer.slice方法使用说明
- node.js中的buffer.write方法使用说明
- node.js中的http.request.end方法使用说明
- node.js中的emitter.on方法使用说明
- node.js中的events.emitter.once方法使用说明
- node.js中的emitter.emit方法使用说明