暂停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脚本直到事件发生的主要内容,如果未能解决你的问题,请参考以下文章
使用 multprocessing.Pipe 进行阻塞,直到事件发生(超时)