JavaScript 创建新的 "Thread"

标签 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); 

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

最佳答案

您基本上只是将对 test 的调用从正常流程中取出,引擎将在合适的时候尽快执行该函数。这意味着,您正在异步执行测试

为了使代码更清晰,您可以创建一个具有有意义名称的函数,该函数执行相同的操作:

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

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

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

关于JavaScript 创建新的 "Thread",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7373987/

相关文章:

javascript - 从 rest API 一次只显示一个对象

将带有 <script> 的代码插入 iFrame 时出现 Javascript 错误

AngularJS $ http ajax请求不是异步的,并导致页面挂起

c# - 创建异步 Web 服务

c# - 异步API

java - Selenium WebDriver get(url) 速度问题

php - 在 Guzzle 中解决多个异步 Promise 时,我只能从第一个 Promise 获得结果

javascript - Soundcloud:尝试播放歌曲时无法设置未定义的属性 'id'

javascript - ajax调用成功时提交表单,ajax调用失败时阻止提交

javascript - 使用ajax插入查询而不重新加载整个页面