Nodejs教程
Nodejs Mysql
Nodejs MongoDB
Nodejs 对比

Node.js 回调

Node.js回调

回调是函数的异步等效项。在每个任务完成时调用它。在Node.js中,通常使用回调。 Node的所有API均以支持回调的方式编写。例如: 当函数开始读取文件时,它将立即将控件返回到执行环境,以便可以执行下一条指令。
在Node.js中,一旦文件I/O完成,它将调用回调函数。因此,没有阻塞或等待文件I/O。这使Node.js具有高度可伸缩性,因为它可以处理大量请求,而无需等待任何函数返回结果。

阻塞代码示例

请按照下列步骤操作:
创建一个名为 input.txt 的文本文件,其内容如下:
lidihuo is an online platform providing self learning tutorials on 
different technologies, in a very simple language.
使用以下代码创建一个名为 main.js 的JavaScript文件:
var fs = require("fs");
var data = fs.readFileSync('input.txt');
console.log(data.toString());
console.log("Program Ended");
打开 Node.js 命令提示符并执行以下代码。
node main.js
Node.js回调1

非阻止代码示例

执行以下步骤:
创建一个名为 input.txt 的文本文件,其内容如下:
lidihuo is an online platform providing self learning tutorials on 
different technologies, in a very simple language. 
使用以下代码创建一个名为 main.js 的JavaScript文件:
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");
打开 Node.js 命令提示符并执行以下代码。
node main.js
Node.js回调2
注意: 您可以看到上面的两个示例解释了阻塞调用和非阻塞调用的概念。第一个示例显示程序阻塞,直到它读取文件,然后在第二个示例中才继续终止程序,程序不等待文件读取,而是继续打印" Program Ended"并同时打印程序无阻碍地继续读取文件。
所以可以说,阻塞程序是按顺序执行的。从程序设计的角度来看,在块程序中实现逻辑也更容易。但是非阻塞程序不会按顺序执行,因此,如果程序需要使用任何要处理的数据,则应将其保留在同一块中以使其顺序执行。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4