本文说明了基于nodejs异步编程的回调函数的用法。分享给大家参考,如下:
Node.js异步编程的直接体现就是回调。
异步编程依赖回调,但不能说回调后程序就变成异步了。
完成任务后将调用回调函数。Node使用了大量的回调函数,Node的所有API都支持回调函数。
例如,我们可以同时读取文件和执行其他命令。文件被读取后,我们返回文件的内容作为回调函数的参数。这样,在执行代码时就没有阻塞或等待文件I/O操作。这大大提高了Node.js的性能,可以处理大量并发请求。
阻塞代码实例
1.创建一个包含以下内容的文件input.txt:
我有一个梦想
2.使用以下代码创建main.js文件:
var fs=require(' fs ');var data=fs . readfilesync(' input . txt ');//注意:fs . read file()console . log(data . tostring())的同步版本;Console.log('程序执行结束!');以上代码执行结果如下:
非阻塞代码示例
1.创建一个包含以下内容的文件input.txt:
我有一个梦想
2.使用以下代码创建main.js文件:
var fs=require(' fs ');FS.readfile ('input.txt ',函数(err,data){//注意:FS.readfile()的异步版本if (err)返回console . err(err);console . log(data . tostring());});Console.log('程序执行结束!');以上代码执行结果如下:
总结:
在上面两个例子中,我们知道了阻塞调用和非阻塞调用的区别。
在读取文件之前,第一个实例不会完成程序的执行。
在第二个例子中,我们不需要等待文件被读出,所以我们可以在读取文件的同时执行下面的代码,这大大提高了程序的性能。
因此,阻塞是按顺序执行的,而非阻塞不需要按顺序执行,所以如果我们需要处理回调函数的参数,就需要把它们写在回调函数中。
希望本文对nodejs程序的设计有所帮助。