Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript wait并不总是在Firefox上可靠地工作_Javascript_Async Await_Html5 Audio - Fatal编程技术网

JavaScript wait并不总是在Firefox上可靠地工作

JavaScript wait并不总是在Firefox上可靠地工作,javascript,async-await,html5-audio,Javascript,Async Await,Html5 Audio,我正在试验JavaScript的async函数和await关键字。我创建了两个promise函数,分别使用setTimeout播放mp3和等待,以及async函数使用wait关键字调用它们 我在播放了很长时间的mp3后遇到了问题,发现如果我等得太久,同样的问题也会发生。如果我播放一个声音,请等待一段时间,然后尝试播放第二个声音,如果等待时间过长,第二个声音将不会播放,仅在3000毫秒以下。这是在Firefox中实现的,而Safari似乎对此没有问题 我已经包括了一个代码片段,但是这个代码片段工作

我正在试验JavaScript的
async
函数和
await
关键字。我创建了两个promise函数,分别使用
setTimeout
播放mp3和等待,以及
async
函数使用
wait
关键字调用它们

我在播放了很长时间的mp3后遇到了问题,发现如果我等得太久,同样的问题也会发生。如果我播放一个声音,请等待一段时间,然后尝试播放第二个声音,如果等待时间过长,第二个声音将不会播放,仅在3000毫秒以下。这是在Firefox中实现的,而Safari似乎对此没有问题

我已经包括了一个代码片段,但是这个代码片段工作得很好,即使在Firefox中也是如此。我已经在网上包含了相同的代码,但在这里它却正常地失败了

我无法确定问题是在于播放声音的功能还是其他方面

功能等待(延迟){
返回新承诺(功能(解决、拒绝){
设置超时(()=>{
解决();
},延误);
});
};
功能播放声音(声音){
返回新承诺(功能(解决、拒绝){
var audio=新音频(声音);
audio.addEventListener('end',()=>{
解决();
});
音频播放();
});
};
异步函数playsync(){
等待播放声音('https://resources.webcraft101.com/sounds/drums.mp3');
控制台日志(“在鼓之后”);
等待等待(5000);//2992杀死它
log('after wait');
等待播放声音('https://resources.webcraft101.com/sounds/cuckoo.mp3');
console.log(“布谷鸟之后”);
}
document.querySelector('button#play async')。onclick=play async

Async
在firefox中,代码片段和外部资源都对我有效。@lawrence witt鼓声响起后,你听到杜鹃声了吗?@lawrence witt我刚刚在开发者版中试用过,它在那里也有效。不要告诉我我将不得不通过插件工作……是的,我看到了所有控制台日志。@lawrence witt,这比我担心的要快。看起来禁用HTML5自动播放插件干扰了它。我已经给作者发了电子邮件。谢谢你的帮助。在firefox中,代码片段和外部资源都对我有用。@lawrence witt你听到鼓声后的杜鹃声了吗?@lawrence witt我刚刚在开发者版中试用过,它在那里也有效。不要告诉我我将不得不通过插件工作……是的,我看到了所有控制台日志。@lawrence witt,这比我担心的要快。看起来禁用HTML5自动播放插件干扰了它。我已经给作者发了电子邮件。谢谢你的帮助。