如何在javascript中执行多线程

如何在javascript中执行多线程,javascript,multithreading,Javascript,Multithreading,基本上我想在画布上做三件事 我想以每秒60帧的速度画一只鼠标。 我想在一秒钟后绘制形状(不一定在每秒钟之后,但它们将在2秒或5秒等秒单位后绘制) 我想在网络播放器中显示一个计时器条。这将在半秒钟后持续增加 现在我不知道如何同时做所有这些事情。我尝试过使用setinterval,但我不确定如何将这三者结合起来。我也检查了web worker,但是它不允许发送对象,所以我也不能使用它们 关于如何实现这一点,有什么想法吗?检查一下,如果单个线程可以处理负载,那么可以使用多个setInterval调用(

基本上我想在画布上做三件事

我想以每秒60帧的速度画一只鼠标。 我想在一秒钟后绘制形状(不一定在每秒钟之后,但它们将在2秒或5秒等秒单位后绘制) 我想在网络播放器中显示一个计时器条。这将在半秒钟后持续增加

现在我不知道如何同时做所有这些事情。我尝试过使用
setinterval
,但我不确定如何将这三者结合起来。我也检查了web worker,但是它不允许发送对象,所以我也不能使用它们


关于如何实现这一点,有什么想法吗?

检查一下,如果单个线程可以处理负载,那么可以使用多个
setInterval
调用(或
requestAnimationFrame
或任何其他计时器)。Javascript是单线程环境。您需要学习利用异步回调和承诺的强大功能,这些功能模拟多线程行为。Javascript是单线程的,因此您必须使用承诺和异步回调来处理您的工作,这是您所能做到的最好(也是最有效的)。异步回调示例和说明:,承诺:。注意:这些只是网络上的一些可用参考资料。但我个人非常喜欢它们,它们涵盖了完成项目所需的大部分内容。(还请注意callbackhell主要指nodejs,异步回调无处不在)我认为这个问题有点过于宽泛。我的建议是将范围集中在你的3个需求中的一个上,显示出你需要走多远的代码,显示出你在哪里被卡住了。