node.js回调函数什么时候调用

 我来答
分享快乐555

2017-06-23 · 传递知识,造就未来,你的所得,我的快乐!
分享快乐555
采纳数:4647 获赞数:12338

向TA提问 私信TA
展开全部

1.阻塞调用(读取完文件再执行后面的操作)

?

1

2

3

4

   

var fs = require("fs");

var data = fs.readFileSync('/fs.txt');

console.log(data.toString());

console.log("程序执行结束!");

   

输出结果:

“文件内容”

“程序执行结束!”

2.非阻塞调用(读取文件和其他操作同步执行)

?

1

2

3

4

5

6

   

var fs = require("fs"); 

fs.readFile('/fs.txt',function(err,data){

if(err) return console.error(err);

console.log(data.toString());

});

console.log("程序执行结束!");

   

输出结果:

“程序执行结束!”

“文件内容”

如果我们每行代码的执行都不依赖于上一行代码的执行结果,那没问题,顺序执行就好。
但是如果我们某行代码的执行,依赖于上一行代码的结果,这个时候就需要回调函数了。我们必须要使用回调函数返回上一行代码的结果,然后才能继续执行这一行代码。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式