- What
1.大多数Node.js核心API都是采用惯用的异步事件驱动架构(fs/http)
2.所有能触发事件的对象都是EventEmitter类的实例
3.事件流程:引入模块-->创建EventEmitter对象-->注册事件-->触发事件
- How
//一、 // 1.引入事件模块 var events = require('events'); // 2.创建EventEmitter对象 var myEmitter = new events.EventEmitter(); //引入的events下面对应的一个方法Eventmitter(),作用:实例化一个方法 // 3.注册事件 myEmitter.on('someEvent', function (msg) { //.on 就是注册事件;两个参数,/'事件名'/ /'回调函数'/ ,第二个参数传到注册事件的回调函数中 // console.log(msg); // 二、异步执行 setImmediate(() => { console.log(msg); //实现事件并传递此参数到注册事件的回调函数中 }); }); // 4.触发事件 //在html里有button之类的触发,Node没有 myEmitter.emit('someEvent', '实现事件并传递此参数到注册事件的回调函数中') //两个参数 /'触发的事件名'/,/'传递参数'/ //二,异步执行,会先console "OK",再console(msg) console.log("OK"); //