我如何使setTimeout使用负数?

问题描述 投票:3回答:2

单击按钮三秒钟后,我可以使用setTimeout使消息显示出来,如下所示:

document.getElementsByTagName("button")[0].onclick = function() {
  setTimeout(function() {
    alert("You clicked the button three seconds ago.");
  }, 3000);
}
<button>Click me</button>

但是由于某种原因,当我试图使消息显示三秒钟时[[之前我单击按钮,它似乎不起作用。

document.getElementsByTagName("button")[0].onclick = function() { setTimeout(function() { alert("You will click the button three seconds from now."); }, -3000); }
<button>Click me</button>
我希望该消息在单击按钮后显示-3000毫秒,也就是说,在单击按钮之前三秒钟,但实际上在单击按钮后它会立即显示。似乎setTimeout不支持负的第二个参数。

有什么理由为什么它不起作用?是否有任何变通办法或polyfill来支持此缺失的功能?

javascript time settimeout polyfills
2个回答
3
投票
您只需要从capacitor库中导入flux

0
投票
等待Jean-Luc发表-他可能会提出Q方法是最可靠的方法,尽管有时会显得急躁并破坏用户体验
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.