本文所分享的知识点是【node.js中的emitter.emit方法使用说明】,欢迎您喜欢我爱IT技术网所分享的教程、知识、经验或攻略,下面是详细的讲解。
node.js中的emitter.emit方法使用说明
EventEmitter.prototype.emit=function(type) {
var er, handler, len, args, i, listeners;
if (!this._events)
this._events={};
// If there is no 'error' event listener then throw.
if (type==='error') {
if (!this._events.error ||
(util.isObject(this._events.error) && !this._events.error.length)) {
er=arguments[1];
if (this.domain) {
if (!er) er=new TypeError('Uncaught, unspecified "error" event.');
er.domainEmitter=this;
er.domain=this.domain;
er.domainThrown=false;
this.domain.emit('error', er);
} else if (er instanceof Error) {
throw er; // Unhandled 'error' event
} else {
throw TypeError('Uncaught, unspecified "error" event.');
}
return false;
}
}
handler=this._events[type];
if (util.isUndefined(handler))
return false;
if (this.domain && this !==process)
this.domain.enter();
if (util.isFunction(handler)) {
switch (arguments.length) {
// fast cases
case 1:
handler.call(this);
break;
case 2:
handler.call(this, arguments[1]);
break;
case 3:
handler.call(this, arguments[1], arguments[2]);
break;
// slower
default:
len=arguments.length;
args=new Array(len - 1);
for (i=1; i < len; i++)
args[i - 1]=arguments[i];
handler.apply(this, args);
}
} else if (util.isObject(handler)) {
len=arguments.length;
args=new Array(len - 1);
for (i=1; i < len; i++)
args[i - 1]=arguments[i];
listeners=handler.slice();
len=listeners.length;
for (i=0; i < len; i++)
listeners[i].apply(this, args);
}
if (this.domain && this !==process)
this.domain.exit();
return true;
};
关于node.js中的emitter.emit方法使用说明的相关讨论如下:
相关问题:ios怎么使用emit 的node.js函数方法
答:简单点说,用户是实现方,实现方需要调用A()函数,但为了A()函数具有通用性,需要根据实现方的意愿调用实现方提供的函数cbB(),在这里cbB()即为回调函数。在Windows编程中回调函数用途很广泛。 >>详细
相关问题:node.js中使用了emitter.once,但还是有多次触发的
答:这个当然了 因为li是父节点 包在最外层 当你鼠标要移动到里面内容是 一定要经过li 所以会触发事件 node.js是运行在服务器端的一个服务器程序,运行javascript语言,是一个服务器软件,解释执行js语言。 >>详细
相关问题:Node.js的HTTP与事件初步介绍&怎么查看API
答:Node.js的HTTP与事件初步介绍&如何查看API(入门篇) Node.js的HTTP与事件初步介绍&如何查看API(入门篇) 接着第一篇来说,当然,同样约定下面简称为Node(个人认为比较标准的说法),标题用node.js主要是为了方便阅读。同样,大牛可以略过这篇文章啦... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
