原理:回调函数在完成任务后才会被调用,执行代码时没有阻塞
情景:回调函数一般作为函数的最后一个参数出现
语法:
function 函数名(参数1, 参数2, 回调函数) { }
function 函数名(参数, 回调函数1, 回调函数2) { }
普通函数
阻塞代码实例:
创建一个input.txt文件,内容如下:
123456
创建main.js文件:
var fs = require("fs");
var data = fs.readFileSync('input.txt');
console.log(data.toString());
console.log("程序执行结束!");
结果:
回调函数
非阻塞代码实例:
创建main.js文件:
var fs = require("fs");
fs.readFile('input.txt', function (err, data) {
if (err) return console.error(err);
console.log(data.toString());
});console.log("程序执行结束!");
结果:
总结
阻塞是按顺序执行的,非阻塞是不按顺序执行的
如果需要处理回调函数的参数,需要写在回调函数内
觉得有帮助可以点赞和收藏!