[英]Where is the this.on event handler coming from? Is it a library?
我从随便的源代码中读取application.js。
这个事件从哪里来? 这是普通的旧JavaScript还是有提供此事件模式的库?
this.on('mount', function onmount(parent) {
// inherit trust proxy
if (this.settings[trustProxyDefaultSymbol] === true
&& typeof parent.settings['trust proxy fn'] === 'function') {
delete this.settings['trust proxy'];
delete this.settings['trust proxy fn'];
}
https://github.com/expressjs/express/blob/master/lib/application.js#L89
app
,该应用程序的原型(在定义/lib/application.js
和中使用/lib/express.js
)被给予的方法EventEmitter
,这是节点内置类型。
在当前版本的代码中,这是在/lib/express.js
使用以下行完成的:
mixin(app, EventEmitter.prototype, false);
其中mixin
来自merge-descriptors
包。
从Node JS文档中 :
所有发出事件的对象都是EventEmitter类的实例。 这些对象公开了eventEmitter.on()函数,该函数允许将一个或多个函数附加到该对象发出的命名事件。
该行上的this
是express应用程序的实例,在这里可以看到 ,它继承了EventEmitter的所有方法(包括on()
)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.