您好,登錄后才能下訂單哦!
這篇文章主要介紹“Node.js異步處理如何實現(xiàn)”,在日常操作中,相信很多人在Node.js異步處理如何實現(xiàn)問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Node.js異步處理如何實現(xiàn)”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
異步的各種寫法
任務說明:項目根目錄下有三個文件 Jay.txt 、 Angela.txt 、 Henry.txt ,依次讀取這三個文件的內容并打印。
下面使用各種異步處理的方法來完成此任務。
回調函數(shù)
ps:下面看下Nodejs 處理異步(獲取異步數(shù)據(jù)并處理)的方法
方法1. 回調函數(shù)方式
將異步方法如readFile封裝到一個自定義函數(shù)中,通過將異步方法得到的結果傳給自定義方法的回調函數(shù)參數(shù)。具體如下(以fs模塊的readFile方法為例):
//封裝 var func = function(filePath,callback){ fs.readFile(filePath, function(err, data){ if(err){ return false; } callback(data); }) } //調用 func('./a.txt', function(res){ //處理異步方法返回得到的數(shù)據(jù) 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){ //數(shù)據(jù)讀取后發(fā)出readData信號的廣播,并將數(shù)據(jù)data傳出 EventEmitter.emit('readData', data); }) //監(jiān)聽readData信號,并對監(jiān)聽到的數(shù)據(jù)做處理(也可先定義監(jiān)聽,再做異步的讀取操作) EventEmitter.on('readData', function(res){ //處理異步讀取得到的數(shù)據(jù) console.log(res); })
到此,關于“Node.js異步處理如何實現(xiàn)”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。