发布订阅者模式
on 就是把一些函数维护到一个数组中
emit 就是让数组中的方法依次执行
主要是把异步操作转为同步操作
例如:let fs=require('fs'); let event={ arr:[], on(fn){ this.arr.push(fn) }, emit(){ this.arr.forEach(fn=>fn()) } } event.on(function(){ if(Object.keys(scool).length===2){ console.log(scool) } }) let scool={} fs.readFile('./name.txt','utf8',function(err,data){ scool.name=data event.emit() }) fs.readFile('./age.txt','utf8',function(err,data){ scool.age=data event.emit() }) 执行结果为:{ age: '18', name: '花花' }