在Javascript中实现线程概念?

时间:2014-02-14 14:00:32

标签: javascript jquery html5 multithreading backbone.js

有没有办法以最简单的形式在javascript中实现线程概念。 情况是,在我的应用程序中,如果用户试图点击一件事,任务可能会花费很多时间,所以我想让用户做其他事情,如果任务完成,他可以得到结果。 所以,如果有人对此有任何想法,请回答。

提前致谢。

被修改

确切的情况是用户点击启动进程,该进程需要在服务器端执行,并且可能需要一些时间。所以我将每隔5或10秒ping一次服务器以检查是否已完成。意味着用户可以做任何他想做的事。

2 个答案:

答案 0 :(得分:1)

使用网络工作者:

  

Web worker是一个在后台运行的JavaScript,   独立于其他脚本,而不影响其性能   这页纸。你可以继续做你想做的事:点击,   选择事物等,而web工作人员在后台运行。

来自http://www.w3schools.com/html/html5_webworkers.asp

你可以在这里看到一个例子:

http://www.w3schools.com/html/tryit.asp?filename=tryhtml5_webworker

答案 1 :(得分:0)

JavaScript不是多线程的,尽管有类似于使用asycsetTimoutsetInterval的情况,但这些是JavaScript中与...无关的功能多线程应用程序。

HTML5中的Worker概念允许您在后台执行某些工作。

请注意,目前并非所有浏览器都支持此功能。