这篇文章主要介绍“Node.js异步处理如何实现”,在日常操作中,相信很多人在Node.js异步处理如何实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Node.js异步处理如何实现”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
异步的各种写法
任务说明:项目根目录下有三个文件 Jay.txt 、 Angela.txt 、 Henry.txt ,依次读取这三个文件的内容并打印。
下面使用各种异步处理的方法来完成此任务。
回调函数
ps:下面看下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); })
到此,关于“Node.js异步处理如何实现”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。