js的回调到底是怎样的一个原理?

学习node.js新手一名,想大概知道回调到底是怎样一个原理。

比如这段异步回调的代码:



function abc(err, data){

  console.log(data.toString());

}


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

这个err, data是怎么传给abc的?为啥能这样传参?想自定义这些参数,自己写一个回调函数又需要如何做?


我想明白这里的这些具体的原理,搞清楚它传值的过程。


另外就是异步使用的条件很迷惑。

比如,我想在http.createServer过程中把pathname传给router处理路由,路由处理调用函数把对应的.txt文件读出来,再通过response写到浏览器上。都有哪些是要用到异步?哪些过程可以用同步的?


蛊毒传说
浏览 548回答 2
2回答

慕的地8271018

function dosomething(val,callback){    try{        var data = val*val*val //随便写的,你可以理解为对数据做某些处理        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)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript