在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ js的回調(diào)到底是怎樣的一個(gè)原理?

js的回調(diào)到底是怎樣的一個(gè)原理?

學(xué)習(xí)node.js新手一名,想大概知道回調(diào)到底是怎樣一個(gè)原理。
比如這段異步回調(diào)的代碼:


function abc(err, data){
  console.log(data.toString());
}

require('fs').readFile(filename,abc);

這個(gè)err, data是怎么傳給abc的?為啥能這樣傳參?想自定義這些參數(shù),自己寫(xiě)一個(gè)回調(diào)函數(shù)又需要如何做?

我想明白這里的這些具體的原理,搞清楚它傳值的過(guò)程。

另外就是異步使用的條件很迷惑。
比如,我想在http.createServer過(guò)程中把pathname傳給router處理路由,路由處理調(diào)用函數(shù)把對(duì)應(yīng)的.txt文件讀出來(lái),再通過(guò)response寫(xiě)到瀏覽器上。都有哪些是要用到異步?哪些過(guò)程可以用同步的?

回答
編輯回答
雅痞
function dosomething(val,callback){
    try{
        var data = val*val*val //隨便寫(xiě)的,你可以理解為對(duì)數(shù)據(jù)做某些處理
        callback(false,data)
    }catch(error){
        callback(error,null)
    }
}

function abc(err, data){
  if(err) console.log(err) return
  console.log(data.toString());
}

dosomething(100,abc)
2017年11月5日 13:01