node 异步编程,异步的i/o
events模块是内置的模块。使用的里面的evenetEmitter 类模块 主要功能是 事件的发布 和 事件的监听。
通过require(“events”);来访问该模块:
// 引入 events 模块
const events=require("events");
// 创建 emitter 对象
const emitter=new events.EventEmitter();
- on 添加一个监听 监听事件的回调函数
- emit 触发事件 携带参数
- once 添加一个监听 (监听一次)
- addListener 添加监听
const events=require("events");
const emitter=new events.EventEmitter();
//先监听事件
emitter.on("dosomething",(args)=>{
console.log(args);
});
//一次性监听
emitter.once("sendmsg",(args)=>{
console.log(args);
});
let handle=(args)=>{
console.log(args);
}
emitter.addListener("listener",handle);
setTimeout(()=>{
console.log(emitter.listeners("dosomething"));
//移除所有的监听
//emitter.removeAllListeners();
//移除上面的监听
//emitter.removeListener("listener",handle);
emitter.emit("dosomething","你好");
emitter.emit("sendmsg","一次性");
emitter.emit("listener","add");
},3000);
输出结果: