当需要对指定事件绑定事件处理函数时,可以使用 EventEmitter 类的 on 方法或 addListener 方法。这两个方法的区别仅在于方法名不同而已,内部实现同样的处理。这两个方法的使用如下所示(下文中的 emitter 均代表一个继承了 EventEmitter 类的子类实例对象)。
- emitter.on(event,listener)
- emitter.addListener(event,listener)
这两个方法均使用两个参数,其中第一个参数为指定事件名,第二个参数为该事件的事件处理函数。例如,为 http.Server 类型的 server 对象在接收到客户端请求是触发的 request 事件绑定事件处理函数。
- var http = require('http'); //引用http模块
- var server = http.createServer(); //创建http服务器并将该服务器赋值给变量server
- //为server服务器在接收到客户端请求时触发的request事件绑定事件处理函数
- server.on('request',
- function(req, res) {
- console.log(req.url);
- res.end();
- });
- server.listen(1337, '127.0.0.1');
在这段代码中,我们制定当服务器接收到客户端请求时,在控制台窗口中输出客户端请求的目标 URL 地址,并使用响应对象的 end 方法立即结束响应。
来源: