javascript - 如何读取已设置的超时句柄还剩多少时间?

标签 javascript timeout

timeoutHandle = setTimeout(function() {
  //code
},1000);

alert(timeoutHandle) 返回一些奇怪的数字,如 1 或 2,它是否应该像 900 和倒数到 0 时该函数称为?所以我想我做错了。

最佳答案

您可以使用 Date.getTime() 获取 Date 对象的毫秒表示,因此(相当准确的)近似值是:

timeoutHandle = setTimeout(function() {
  // code
}, 1000);
<strong>timeoutStart = new Date().getTime();

...

var elapsedTime = new Date().getTime() - timeoutStart;</strong>

setTimeoutsetInterval 的返回值只是一种“定时器 ID”——您可以使用它来停止带有 clearTimeout 的定时器和 clearInterval,它不会动态变化。

编辑:正如@Rocket 指出的,是的,您可以使用 Date.now() 而不是 new Date().getTime()

关于javascript - 如何读取已设置的超时句柄还剩多少时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8690539/

相关文章:

python-3.x - python socket(TCP)程序没有结束

ios - 使用AWSS3TransferManagerUploadRequest如何设置超时间隔?

java - neo4j 一直报错并且无法运行,你能帮我解决它的错误吗?

javascript - jQuery:悬停和单击时在按钮上切换具有相同特性的类

javascript - 如何为动态添加的按钮添加点击监听器?

java - 如何为测试(junit)中的 block 设置超时?

java - JDBC 网络适配器无法建立连接/连接重置/接收失败

javascript - Select2 和 jScrollPane

javascript - 搜索对象数组中的元素

javascript - 是否可以创建一个 Canvas 来提取图像数据而不实际渲染 Canvas ?