node.js中的事件大都是异步事件,如何从node.js异步事件中去拿值呢?
var fs = require('fs');
console.log(1)
/**1.直接获取
function getData(){
fs.readFile('aaa.txt',(err,data) => { //异步事件
return data;
})
}
//console.log(getData()); //undefined
*/
/**2.回调函数获取
function getData(callback){
fs.readFile('aaa.txt',(err,data) => {
//console.log(data.toString())
callback(data);
})
}
getData(function(result){
console.log(result) //数据
})
*/
/*3.订阅发布模式获取(事件驱动)*/
/**
var events = require('events');
var EventEmitter = new events.EventEmitter();
function getData(){
fs.readFile('aaa.txt',(err,data) => { //发布
EventEmitter.emit('sendData',data)
})
}
getData()
EventEmitter.on('sendData',function(data){ //订阅
console.log(data) //数据
})
*/
console.log(2)