同时执行2个功能.有可能吗

2 functions executed at the same time. Is it possible?

本文关键字:有可能 功能 2个 执行      更新时间:2023-09-26

让我们假设我有以下代码:

var funcIsRunning = 0;
function a(){
   funcIsRunning = 1;
   // some code ... (maybe lots of code);
   funcIsRunning = 0;
}

某个异步函数是否有可能在"1"位置捕获funcIsRunning标志?(例如XHR的回调或通过setTimeout调用的函数等)或者,相同的是,两个功能是否可以同时执行(而不是一个接一个)?

只是为了表明。。。事实上,我不必同时运行两个函数。。。我只是想知道它是怎么工作的。

附言:如果你能提供你的答案的文件/依据,我将不胜感激非常感谢!


在这里做了一个测试,说明了给出的答案:http://jsfiddle.net/rz7tvyof/

不,JavaScript是单线程的,一次只运行一个函数。尽管如此,如果您有一个回调函数在等待,比如说,一个碰巧在funcIsRunning = 1返回的网络请求,那么该回调函数将被放在由事件循环处理的队列中

解释的JavaScript事件循环

由于事件循环,通常不会。但是您可以使用WebWorker并行运行代码(有一些限制,例如访问DOM等)

工人文档