Javascript创建新的“线程”

时间:2011-09-10 19:15:36

标签: javascript asynchronous

这是一个根据javascript的“线程”,但代码似乎不适合传统的线程模型。

关于线程的概念,是否可以使这个代码更清晰?

function test() {
    alert("Test");
}

// this creates a new "thread," but doesn't make much sense to the untrained eye
setTimeout(test, 0); 

还有其他方法可以分支吗?

1 个答案:

答案 0 :(得分:31)

您基本上只是将test的呼叫从正常流程中取出,并且引擎将尽快执行该功能。这意味着,您正在异步执行test

为了使代码更清晰,您可以使用有意义的名称创建一个具有相同功能的函数:

function executeAsync(func) {
    setTimeout(func, 0);
}

executeAsync(function() {
    alert("Test");
});

如果你想拥有真正的线程,请查看web workers