暂停js脚本直到事件发生

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了暂停js脚本直到事件发生相关的知识,希望对你有一定的参考价值。

有没有办法暂停一个js脚本,直到某个事件,如鼠标点击一个按钮?我的意思是脚本应暂停执行并在事件发生时再次恢复。我是javascript的新手,甚至在网上彻底搜索后找不到解决方案!

答案

JS是单线程的,多线程只能由Web Workers完成。我所知道的。

但是,如果你只有一个你想暂停的小脚本,你可以拥有一个全局变量/标志,只需在你的脚本中(我不知道它是一个循环或事件驱动函数)检查该标志。在这种情况下:

var flag = false;

...
if (flag) {
   do your code
} else {
   do nothing or return if in function
}

一旦你想继续,只需设置flag = true;

另一答案

JavaScript是单线程的,在事件发生时没有抢占。这是不可能的。

另一答案

如果你试图暂停的是一个本来会循环的函数,我想出了一个很好的解决方案:https://stackoverflow.com/a/47841425/2884291

以上是关于暂停js脚本直到事件发生的主要内容,如果未能解决你的问题,请参考以下文章