Node.js 是单进程单线程应用程序,但是因为 V8 引擎提供的异步执行回调接口,通过这些接口可以处理大量的并发,所以性能非常高。
Node.js 单线程类似进入一个while(true)的事件循环,直到没有事件观察者退出,每个异步事件都生成一个事件观察者,如果有事件发生就调用该回调函数。
Node.js 有多个内置的事件,我们可以通过引入 events 模块,并通过实例化 EventEmitter 类来绑定和监听事件
//引入event模块 var events=require("events"); 创建eventEmitter对象 var eventEmitter=new events.EventEmitter(); var connectHandler=function connected(){ console.log("连接成功"); 触发事件 eventEmitter.emit("data_received"); } 绑定事件及处理程序 eventEmitter.on("connection",connectHandler) 绑定data_received eventEmitter.on("data_received",(){ console.log("数据接收成功"); }) 触发connection事件 eventEmitter.emit("connection"); console.log("程序处理完毕~");
读取文件实例
var fs = require("fs"); fs.readFile('input.txt',1)"> (err,data) { if (err){ console.log(err.stack); return; } console.log(data.toString()); }); console.log("程序执行完毕");