• Node.js Video Tutorials

NodeJS - console.timeLog() 方法



Node.js 的console.timeLog() 方法是 node.js Console 类 的内置方法。此方法用于打印计时器的经过时间和其他信息。

要使用此方法,我们首先需要调用 console.time() 方法来启动计时器,然后使用 console.timeLog() 方法可以在操作或函数的特定阶段创建检查点。如果在循环内使用此方法,则会更有效。

语法

以下是 Node.js console.timeLog() 方法的语法:

console.timeLog([label][, …data]);

参数

此方法仅接受两个参数。下面将讨论这两个参数。

  • 该方法可以接受带有特定名称的参数 label。不同的标签可用于不同的操作。如果没有将 label 作为参数传递,则将使用默认标签。

  • 第二个参数data 可以是任何类型的任何数据类型或数据结构。

返回值

此方法将返回从计时器启动到声明 Node.js console.timeLog() 方法所花费的时间。

示例

在下面的示例中:

  • 我们正在从输入字符串变量打印随机元素,直到达到指定的级别。

  • 然后我们使用 Node.js console.time() 方法启动计时器。

  • 然后我们在 for 循环内使用 Node.js console.timeLog() 方法。因此,这将给出每次迭代所花费的时间。

function RandomNum(times) {
const text = "0123456789";
var times = 5;
console.time("Timer");
for(var index = 0; index < times; index++){
      console.log(text[Math.floor(Math.random() * 10)]);
      console.timeLog("Timer");
   }
}
RandomNum();

输出

0
/home/cg/root/63a050f8537e1/main.js:9
   console.timeLog("Timer");
   ^
   
TypeError: console.timeLog is not a function
   at RandomNum (/home/cg/root/63a050f8537e1/main.js:9:13)
   at Object. (/home/cg/root/63a050f8537e1/main.js:12:1)
   at Module._compile (internal/modules/cjs/loader.js:702:30)
   at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
   at Module.load (internal/modules/cjs/loader.js:612:32)
   at tryModuleLoad (internal/modules/cjs/loader.js:551:12)
   at Function.Module._load (internal/modules/cjs/loader.js:543:3)
   at Function.Module.runMain (internal/modules/cjs/loader.js:744:10)
   at startup (internal/bootstrap/node.js:238:19)
   at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)

注意 - 要查看实际结果,请在本地执行以上代码。

正如我们在下面的输出中看到的,我们得到了循环每次迭代所花费的时间。

2
Timer: 3.623ms
9
Timer: 4.082ms
4
Timer: 4.38ms
9
Timer: 4.671ms
7
Timer: 5.502ms

示例

在下面的示例中:

  • 我们正在创建一个函数,并在函数内创建一个 string 数组,并在其上执行元素的添加和删除操作。

  • console.timeLog() 方法可以接受两个参数 ([label][,…data]),在此示例中,我们还在方法中使用了第二个参数。

function func(){
   var value = "seconds";
console.time("Time taken upto adding an  element");
   var array = ["Mahishmati", "Bahubali", "Devsena"];
   array.push("Katappa", "Shivgaami");
console.timeLog("Time taken upto adding an  element", value);
   array.pop();
   console.log(array);
}
func();

输出

/home/cg/root/63a050f8537e1/main.js:7
console.timeLog("Time taken upto adding an  element", value);
   ^
   
TypeError: console.timeLog is not a function
   at func (/home/cg/root/63a050f8537e1/main.js:7:9)
   at Object.<anonymous> (/home/cg/root/63a050f8537e1/main.js:12:1)
   at Module._compile (internal/modules/cjs/loader.js:702:30)
   at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
   at Module.load (internal/modules/cjs/loader.js:612:32)
   at tryModuleLoad (internal/modules/cjs/loader.js:551:12)
   at Function.Module._load (internal/modules/cjs/loader.js:543:3)
   at Function.Module.runMain (internal/modules/cjs/loader.js:744:10)
   at startup (internal/bootstrap/node.js:238:19)
   at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)

注意 - 要查看实际结果,请在本地执行以上代码。

正如我们在下面的输出中看到的,我们得到了从计时器启动到向数组添加元素所花费的时间。

Time taken upto adding an  element: 0.051ms seconds
[ 'Mahishmati', 'Bahubali', 'Devsena', 'Katappa' ]

示例

在下面的示例中:

  • 我们正在创建一个函数,并在其中运行一个简单的 for 循环,在循环内部,我们使用了 console.timeLog() 方法来打印控制台每次迭代所花费的时间。

  • 在函数外部,我们启动另一个计时器,并在函数调用后结束它。因此,它给出了程序总共花费的时间。

console.time("Total time to complete");

function func(){
   console.time("Time taken for every iteration");
   for(var i=0; i<5; i++){
      console.timeLog("Time taken for every iteration");
   }
};
func();
console.timeEnd("Total time to complete");

输出

/home/cg/root/63a050f8537e1/main.js:6
   console.timeLog("Time taken for every iteration");
   ^
   
TypeError: console.timeLog is not a function
   at func (/home/cg/root/63a050f8537e1/main.js:6:13)
   at Object. (/home/cg/root/63a050f8537e1/main.js:9:1)
   at Module._compile (internal/modules/cjs/loader.js:702:30)
   at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
   at Module.load (internal/modules/cjs/loader.js:612:32)
   at tryModuleLoad (internal/modules/cjs/loader.js:551:12)
   at Function.Module._load (internal/modules/cjs/loader.js:543:3)
   at Function.Module.runMain (internal/modules/cjs/loader.js:744:10)
   at startup (internal/bootstrap/node.js:238:19)
   at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)

注意 - 要查看实际结果,请在本地执行以上代码。

正如我们在下面的输出中看到的,我们得到了 for 循环每次迭代以毫秒为单位所花费的时间以及程序总共花费的时间。

Time taken for every iteration: 0.047ms
Time taken for every iteration: 3.823ms
Time taken for every iteration: 4.045ms
Time taken for every iteration: 4.204ms
Time taken for every iteration: 4.357ms
Total time to complete: 4.584ms
nodejs_console_module.htm
广告