【发布时间】:2016-10-28 20:13:36
【问题描述】:
我正在尝试使用 setTimeout 进行使用 console.time() 和 console.timeEnd() 的性能测试。但是,setTimeout() 不会延迟 for() 循环。
这里是 JS 小提琴:
// Start the timer.
console.time('testFor');
for ( i = 0; i < 5; i++ ) {
setTimeout( console.log('The number is ' + i), 2000 );
}
// End the timer, get the elapsed time.
console.timeEnd('testFor');
如何让 setTimeout() 在我的脚本中工作,为什么它对我不起作用?
【问题讨论】:
-
异步101,不会发生。
-
setTimeout不是sleep命令。setTimeout基本上是告诉 JavaScript 以后运行函数 2000ms。 -
另外,您需要将 函数 传递给
setTimeout。在您的代码中,setTimeout什么都不做,因为您立即调用console.log并将其返回值传递给setTimeout。
标签: javascript for-loop settimeout