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]);
});