javascript - setTimeout() 不规则执行行为
问题描述
为什么setTimeout
即使在所需的延迟时间之后回调也没有执行。
根据执行程序其他代码的时间,执行需要更多时间。
console.time('CalculateExeutionTime');
console.log("Staring....");
setTimeout(() => {
console.log("Inside setTimeout.");
}, 100);
console.log("Middle...");
let start = 0;
let end = 1000000000;
while(end > start){
start++
}
console.log("End...");
console.timeEnd('CalculateExeutionTime')
此外,当我将执行回调的时间设置setTimeout
为零时,它仍然没有执行。
console.time('CalculateExeutionTime');
console.log("Staring....");
setTimeout(() => {
console.log("Inside setTimeout.");
}, 0);
console.log("Middle...");
let start = 0;
let end = 1000000000;
while(end > start){
start++
}
console.log("End...");
console.timeEnd('CalculateExeutionTime')
有什么方法可以确保setTimeout
在所需时间之后执行。
解决方案
推荐阅读
- c++ - 使用类在 C++ 中处理文件
- mysql - 如何在同一个查询中从表 A 和表 B(如果存在)中删除?
- c++ - 如果不使用带有虚函数的类,会生成虚函数表吗?
- c - 为什么在 printf 调用中将 size_t 类型的变量强制转换为(无符号)?
- jquery - 是否可以过滤 jQuery Ajax 结果?
- c# - 仅在单步执行代码时出现 C# 调试错误
- c# - 在 C# 中可以用另一个列表对象替换列表对象
- firebase - 在firebase中创建的云功能可以在不同的google开发者账户中使用吗?
- javascript - React Router - 如何将以前的位置路径名传递给当前
- javascript - 如何在 Javascript 中创建对象以及更改其属性的方法?