📜  Node.js 中的 API 函数类型

📅  最后修改于: 2022-05-13 01:56:53.290000             🧑  作者: Mango

Node.js 中的 API 函数类型

API代表应用程序编程接口。它由各种通信协议和子程序组成,可供程序用于相互通信。有多种类型的 API 可用,例如 WEB API、LOCAL API、PROGRAM API 等。它们是提供输出的最有效和最可靠的方式之一。

Node.js中的 API 函数类型

  1. 异步、非阻塞函数
  2. 同步、阻塞功能

异步、非阻塞函数:顾名思义,这些函数是异步操作的。这意味着当 Node.js 向 API 发出数据请求时,在收到数据之前它不会被阻塞。相反,它会在调用它之后继续移动到下一个 API,并且来自 Node.js 事件的通知机制将响应服务器对上一个 API 调用。用外行的话来说,这些函数允许在处理请求时进一步工作。示例:电子邮件、在线论坛

同步、阻塞函数:与异步函数相反,同步函数充当阻塞函数。这意味着这些函数将使调用系统等待响应。因此,当系统使用同步 API 时,它希望在发出请求时立即获得数据。这些类型的 API 用于可用性和连接性较高且预期延迟较低的情况。通俗地说,应用程序将请求并等待响应,直到返回值。示例:即时消息、视频会议

示例:假设我们有一个名为data.json的 JSON 文件,其中包含以下某些数据:

{
    "name": "John",
    "age": 50,
    "gender": "male"
}

现在,我们将使用异步和同步函数来读取这些数据。 Node.js 有一个名为fs的内置模块,它代表文件系统,可用于以建模方式与文件交互。要使用它,我们需要如下要求:

const fs = require('fs');

我们在应用程序中使用了以下两个函数:

  • 为了异步读取文件,我们使用了fs模块支持的readFile()方法。
  • 为了同步读取文件,我们使用了fs模块支持的readFileSync()方法。

例子:

index.js
// Requiring inbuilt module
const fs = require('fs');
  
// Asynchronous function
fs.readFile('data.json', 'utf8', function (err,data) {
  if (err) {
    return console.log(err);
  }
  console.log("Below is the Data from Asynchronous function call")
  console.log(data);
});
  
// Synchronous function
var data = fs.readFileSync('data.json','utf8');
console.log("Below is the Data from Synchronous function call")
console.log(data);


运行应用程序的步骤。

使用以下命令运行index.js文件。

node index.js

输出:我们将在您的终端屏幕上看到以下输出:

Below is the Data from Synchronous function call
{
    "name": "John",
    "age": 50,
    "gender": "male"
}
Below is the Data from Asynchronous function call
{
    "name": "John",
    "age": 50,
    "gender": "male"
}

执行上述代码时,它将产生与异步相同的输出,并且在相同的时间范围内。这背后的原因是,当我们读取一两个文件时,两种方法之间的差异并不显着。但是当我们操作一个数据库并处理多个请求时,差异会非常明显,因为它会直接影响性能。