Javascript 在音频文件阵列上循环时,音频文件立即播放

Javascript 在音频文件阵列上循环时,音频文件立即播放,javascript,settimeout,Javascript,Settimeout,我正在开发Simon游戏应用程序,目前有一个测试按钮。单击它,随机生成的颜色被推送到阵列变量,然后我想在阵列上循环,并根据存储的项目/颜色播放每个阵列项目的音频 现在的问题是所有的声音都同时播放,而不是一个接一个地播放。所以我点击了第二次或第三次,数组中的所有颜色声音同时播放。我如何解决这个问题?我尝试使用settimeout,但id没有任何效果。以下是一个片段: setTimeout(simonGameApp.playAudio(color), 5000); });

我正在开发Simon游戏应用程序,目前有一个测试按钮。单击它,随机生成的颜色被推送到阵列变量,然后我想在阵列上循环,并根据存储的项目/颜色播放每个阵列项目的音频

现在的问题是所有的声音都同时播放,而不是一个接一个地播放。所以我点击了第二次或第三次,数组中的所有颜色声音同时播放。我如何解决这个问题?我尝试使用settimeout,但id没有任何效果。以下是一个片段:

        setTimeout(simonGameApp.playAudio(color), 5000);
      });
代码如下:

点击测试按钮调用generateColorSequence函数。 我只想玩第一个阵列项目,然后是第二个,依此类推
关于如何解决它有什么想法吗?

这是因为调用了
simonGameApp.playaudo(color)
,函数的
返回值被传递给
setTimeout()
。您需要将其包装到另一个函数中

setTimeout(function(){
   simonGameApp.playAudio(color)
}, 5000);
ES6 Synstax

setTimeout(() => simonGameApp.playAudio(color),5000)

请将代码笔作为堆栈片段发布在帖子中。单击工具栏上的第七个图标(带括号),将其复制并粘贴到编辑器中。有关更多详细信息,请参阅