Node.js回调函数
Node.js异步编程的直接体现就是回调,这样在执行代码时就没有阻塞,大大提高Node.js的性能,可处理大量并发请求.
实例:读取文件
创建一个input.txt文件,内容如下:
Hello world!
- 阻塞代码
创建main.js文件,代码如下:
var fs=require("fs");
var data=fs.readFileSync('input.txt');
console.log(data.toString());
console.log("程序执行结束!");
$node main.js
程序执行结束!
Hello world!
- 非阻塞代码
main.js文件代码如下:
var fs=require("fs");
fs.readFile('input.txt',function(err,data){
if(err)return console.log(err);
console.log(data.toString());
});
console.log("程序执行结束!");
$node main.js
Hello world!
程序执行结束!
阻塞是按顺序执行的,而非阻塞是不需要按顺序的,如果需要处理回调函数的参数,我们就需要写在回调函数内.