如何为 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);
输出: