Nullreference Q&A 编程技术问答社区
第一次访问本站?请查看 FAQ!
x
+6 投票
146 浏览

最近在学 node.js ,对 callback 不理解,谁能给我一个简单的示例。

最新提问 5月 19, 2016 分类:JavaScript | 用户: qoph (310 分) | 146 浏览

1个回答

+1 投票

Callback 相当于一个异步执行的方法,Callback 方法在给定的方法执行完成后执行。例如一个方法要读取一个很大的文件,该方法开始执行后,系统立即返回开始执行下一个方法而不必等读取文件执行完成。一旦读取文件完成后就开始执行指定的 callback 方法。这样系统在处理大量请求时就不会发生阻塞。

示例:

var fs = require("fs");

var data = fs.readFileSync('data.txt'); // 未使用 Callback

console.log(data.toString());
console.log("执行完成");

输出结果:

Overflow.com.cn 编程技术问答社区

执行完成

var fs = require("fs");

fs.readFile('data.txt', function (err, data) { // 使用 Callback
	if (err) return console.error(err);
	console.log(data.toString());
});

console.log("执行完成");

输入结果:

执行完成

Overflow.com.cn 编程技术问答社区

从上面的示例可以看出,没使用 callback 方法时程序是顺序执行的,使用 callback 方法的则不是。Callback 方法时异步执行的,可以大大提高系统的可伸缩性。

最新回答 5月 21, 2016 用户: Anders (3,820 分)