测量 Node.js 中异步操作的持续时间
Node.js 中的异步操作是非阻塞操作,这意味着如果我们在代码中的某个点执行异步操作,那么之后的代码将被执行并且不会等待该异步操作完成。
如果我们想计算异步操作的持续时间,那么我们可以使用下面提到的语法在我们的 async函数内部轻松完成。
句法:
const calcTime = async () => {
const start = Date.now();
await someAsyncOperation();
const end = Date.now()
const duration = end - start;
}
项目设置:
第 1 步:如果您还没有安装 Node.js。
第 2 步:为您的项目创建一个文件夹,然后将cd (更改目录)放入其中。在该文件夹中创建一个名为 app.js 的新文件。
项目结构:按照这些步骤操作后,您的项目结构将如下所示。
在下面提到的代码示例中,我们使用 setTimeout() 方法模拟了一个异步操作。我们在返回承诺的异步函数中执行加法操作。这个承诺在 2 秒后通过添加的结果来解决。最后,我们计算并显示在我们的 IIFE(立即调用函数表达式)中执行加法操作所花费的时间。
app.js
const asyncAdd = async (a, b) => {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(a + b);
}, 2000);
});
};
(async() => {
const startTime = Date.now();
const res = await asyncAdd(5, 2);
const endTime = Date.now();
const timeTaken = endTime - startTime;
console.log(`Result of addition = ${res}`);
console.log(`Time taken to perform addition =
${timeTaken} milliseconds`);
})();
运行应用程序的步骤:我们可以在命令行上使用以下命令执行我们的 app.js 文件。
node app.js
输出: