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

如题所述

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("程序执行结束!");

   

输出结果:

“程序执行结束!”

“文件内容”

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

温馨提示:答案为网友推荐,仅供参考
相似回答