这是一个根据javascript的“线程”,但代码似乎不适合传统的线程模型。
关于线程的概念,是否可以使这个代码更清晰?
function test() {
alert("Test");
}
// this creates a new "thread," but doesn't make much sense to the untrained eye
setTimeout(test, 0);
还有其他方法可以分支吗?
答案 0 :(得分:31)
您基本上只是将test
的呼叫从正常流程中取出,并且引擎将尽快执行该功能。这意味着,您正在异步执行test
。
为了使代码更清晰,您可以使用有意义的名称创建一个具有相同功能的函数:
function executeAsync(func) {
setTimeout(func, 0);
}
executeAsync(function() {
alert("Test");
});
如果你想拥有真正的线程,请查看web workers。