如何獲取node.js非同步事件中的資料
阿新 • • 發佈:2018-10-31
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)