JSFiddle - React, Tailwind, and code Playground
JavaScript
function playSound(fileName) {
var deferred = jQuery.Deferred();
var sound = new Audio(fileName);
$(sound).bind('ended', function () {
deferred.resolve();
});
sound.play();
return deferred.promise();
}
function playSounds(sounds) {
var playFinishedPromise = playSound(sounds[0]);
var i = 1;
while (i < sounds.length) {
playFinishedPromise = playFinishedPromise.then(function () {
return playSound(sounds[i]);
});
++i;
}
}
$(function () {
var ogg = 'https://upload.wikimedia.org/wikipedia/commons/c/c8/Example.ogg';
playSounds([ogg, ogg, ogg]);
});