我有一个关于javascript中并行进程的问题。我的意思是异步过程。我需要同时播放两个音轨(同步)。但是,如果我连续调用它,轨道可以播放一点异步。:
audio.play();
audio2.play();
我认为,我几乎知道,javascript有反对意见。用于处理异步。动作。怎么样?
谢谢!
答案 0 :(得分:1)
最简单的方法是使用名为async
的神奇库然后你可以做
async.parallel([
function(callback) {
audio.play();
callback();
},
function(callback) {
audio2.play();
callback();
}], function() {
console.log("Both sounds running together");
});
或者我相信你可以像这样包装每个.play。
setTimeout(function() {
audio.play();
});
setTimeout(function() {
audio2.play();
});
答案 1 :(得分:0)
通常认为JS具有单个执行线程,这意味着它将在任务上阻止,直到它完成处理。但是,您仍然可以做一些事情来使其并发。
除了@Datsik提供的库之外,我还想提一下 web worker ,它是在您的Web应用程序中生成后台脚本的API 。但是,您需要浏览器支持才能成功运行Web worker。这是一个方便的website,您可以检查浏览器对Web worker的支持。此外,这是关于您的信息的另一个关于Web工作者的简短introduction。 (如果您想使用Web worker,可能需要稍微重构一下代码。)
祝你好运!