nodejs中回调的含义是什么
这篇文章主要介绍“nodejs中回调的含义是什么”,在日常操作中,相信很多人在nodejs中回调的含义是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”nodejs中回调的含义是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
在nodejs中,回调是将一个函数作为参数传递给另一个函数,并且通常在第一个函数完成后被调用;是一个异步等效的功能,Node的所有的API都支持回调这样的一种方式。
本文操作环境:Windows10系统、nodejs 12.19.0版、Dell G3电脑。
nodejs中回调是什么意思
回调是一个异步等效的功能。在完成特定任务回调函数被调用。 Node大量使用了回调。Node的所有的API都支持回调这样的一种方式。
例如,一个函数读取一个文件可能开始读取文件,并使得下一个指令可以被执行立即返回控制到执行环境。一旦文件I/O完成后,它会调用回调函数,同时传递回调函数,该文件的内容作为参数。因此,有没有堵塞或等待文件I/ O。这使得Node.js高度可扩展,因为它可以处理大量的请求,而无需等待任何函数来返回结果。
阻塞代码例子
创建一个名为input.txt的文件有以下内容的文本
Yiibai Point is giving self learning content
to teach the world in simple and easy way!!!!!
创建一个js文件名为main.js里面有如下代码:
var fs = require("fs");
var data = fs.readFileSync('input.txt');
console.log(data.toString());
console.log("Program Ended");
现在运行main.js看到的结果:
$ node main.js
验证输出
Yiibai Point is giving self learning content
to teach the world in simple and easy way!!!!!
Program Ended
非阻塞代码例子
创建一个名为input.txt的文件有以下内容的文本
Yiibai Point is giving self learning content
to teach the world in simple and easy way!!!!!
更新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("Program Ended");
现在运行main.js看到的结果:
$ node test.js
验证输出
Program Ended
Yiibai Point is giving self learning content
to teach the world in simple and easy way!!!!!
这两个例子说明阻塞和非阻塞调用的概念。第一个例子说明程序块,直到它读取该文件,然后只前进到结束程序的地方。在第二个例子中,程序不等待文件读取,但它只是进行打印“Program Ended”,并同时程序无阻塞继续读取文件。
因此,阻挡程序执行在序列,从编程点查看其更容易实现的逻辑,但非阻塞方案并不按顺序执行,这样的情况下一个程序需要使用的任何数据进行处理,它应保持使用式相同的块,使之按顺序执行。
到此,关于“nodejs中回调的含义是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341