我试图在node.js中理解addListener的目的。有人可以解释一下吗?谢谢!一个简单的例子是:
var tcp = require('tcp');
var server = tcp.createServer(function (socket) {
socket.setEncoding("utf8");
socket.addListener("connect", function () {
socket.write("hello\r\n");
});
socket.addListener("data", function (data) {
socket.write(data);
});
socket.addListener("end", function () {
socket.write("goodbye\r\n");
socket.end();
});
});
server.listen(7000, "localhost");
答案 0 :(得分:8)
由于Node.js工作事件驱动并执行事件循环这一事实,注册侦听器允许您定义每次触发事件时将执行的回调。因此,它也是一种异步形式。代码结构。
它与GUI监听器相当,可以激发用户交互。就像鼠标单击一样,触发GUI应用程序中的代码执行,您的示例中的侦听器将在事件发生后立即运行,即新客户端连接到套接字。
答案 1 :(得分:1)
它为“事件”注册一个监听器。事件由字符串标识,例如"connect"
和"data"
。第二个参数是一个函数,一个所谓的“回调”,也称为“事件处理程序”。只要在侦听器已注册的对象中发生特定事件,就会调用所有处理程序。
node.js使用它,因为它采用了异步执行模型,最好用事件驱动的方法来处理。
格尔茨
back2dos