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