为什么Firefox处理setTimeout(fn,0)同步但setTimeout(fn,1)是异步的?

时间:2017-01-12 10:20:34

标签: javascript

我需要在按钮的click事件上附加异步行为。 我想让浏览器首先打开带有链接的新选项卡,当我返回上一页时,执行异步操作。

首先,我对此进行了测试:window.setTimeout(() => action(), 0);

它在Chrome中运行良好,但在Firefox action()中,在链接打开之前执行。很坏。我不敢相信Firefox管理它就像是一个同步块?

所以我尝试了window.setTimeout(() => action(), 1);

现在有效!

1毫秒是否会产生影响,或者在内部事件循环中是否有解释?

你知道答案吗? (为什么Chrome和Firefox之间的管理方式不同?)

0 个答案:

没有答案