setInterval()函数的行为类似于线程吗?

时间:2013-04-02 10:43:48

标签: javascript html5

setInterval中的代码是否并行执行??

3 个答案:

答案 0 :(得分:0)

不,它没有。在浏览器的javascript中,除非您使用Web Workers,否则只有一个帖子。

答案 1 :(得分:0)

nope它不像一个线程。

会发生以下情况:

你执行以下内容:

setTimeout(function(){
    console.log("bar");
}, 10);
console.log("foo");

它会将该setTimeout参数中的函数添加到队列中,执行“foo”的记录,然后挖掘队列以查找接下来会发生的事件。

然后它将执行console.log("bar");

内部看起来像:

console.log("foo");
// waiting for 10 ms unless another event is getting fired
console.log("bar");

这是非常抽象的,但基本上会发生什么。

你搜索的是网络工作者,因为他已经回答了。

答案 2 :(得分:0)

它并不像你期望的那样并行执行,而是从另一个线程中分离出来,但是 是异步的,因为回调不一定会以线性方式发生。

这对您有什么影响我们无法确定,因为您没有提供有关您的问题的任何有意义的信息,或者您为何希望得到这个问题的答案。