1. 程式人生 > >如何獲取node.js非同步事件中的資料

如何獲取node.js非同步事件中的資料

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)