Nodejs 处理异步(获取异步数据并处理)的方法


方法1. 回调函数方式

将异步方法如readFile封装到一个自定义函数中,通过将异步方法得到的结果传给自定义方法的回调函数参数。具体如下(以fs模块的readFile方法为例):

//封装
var func = function(filePath,callback){ fs.readFile(filePath, function(err, data){ if(err){ return false; } callback(data); }) } //调用
func('./a.txt', function(res){ //处理异步方法返回得到的数据
 console.log(res); })

 方法2. 事件驱动方式

使用node events模块,利用其EventEmitter对象广播和接收广播的方式传输异步方法返回的结果。具体如下(仍以fs模块的readFile异步方法为例):

var events = require('events'); var EventEmitter = new events.EventEmitter(); fs.readFile('./a.txt', function(err, data){ //数据读取后发出readData信号的广播,并将数据data传出
    EventEmitter.emit('readData', data); }) //监听readData信号,并对监听到的数据做处理(也可先定义监听,再做异步的读取操作)
EventEmitter.on('readData', function(res){ //处理异步读取得到的数据
 console.log(res); })

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM