📜  如何为 Node.js 编写异步函数?

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

如何为 Node.js 编写异步函数?

可以在 Node.js 中使用函数名称前的“async”来编写异步函数。异步函数返回隐式 Promise 作为结果。 async函数有助于通过事件循环异步编写基于 Promise 的代码。异步函数将始终返回一个值。可以在异步函数内部使用 await函数来等待 promise。这会强制代码等到 promise 返回结果。

使用以下命令在 Node.js 中从 npm 安装异步:

npm i async

使用 require() 方法在 Node.js 项目中使用异步。

示例 1:在 Node.js 中创建异步函数来计算数字的平方。

  • 创建一个项目文件夹。
  • 使用以下命令初始化项目文件夹中的 package.json 文件。
    npm init -y
  • 使用以下命令安装异步:
    npm i async
  • 创建一个 server.js 文件并在其中写入以下代码。
  • 使用npm start运行代码
var async = require("async");
  
function square(x) {
    return new Promise((resolve) => {
        setTimeout(() => {
            resolve(Math.pow(x, 2));
        }, 2000);
    });
}
  
async function output(x) {
    const ans = square(x);
    console.log(ans);
}
  
output(10);
var async = require("async");
  
function square(x) {
    return new Promise((resolve) => {
        setTimeout(() => {
            resolve(Math.pow(x, 2));
        }, 2000);
    });
}
  
async function output(x) {
    const ans = await square(x);
    console.log(ans);
}
  
output(10);

输出:

示例 2:在 Node.js 中使用 await 创建一个异步函数来计算两个数字的总和。执行上述过程以创建 Node.js 项目。

var async = require("async");
  
function square(a, b) {
    return new Promise(resolve => {
        setTimeout(() => {
            resolve(a + b);
        }, 2000);
    });
}
  
async function output(a, b) {
    const ans = await square(a, b);
    console.log(ans);
}
  
output(10, 20);

输出: