« get me outta code hell

Make playFile return a promise - mtui - Music Text User Interface - user-friendly command line music player
about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFlorrie <towerofnix@gmail.com>2018-12-22 14:01:30 -0400
committerFlorrie <towerofnix@gmail.com>2018-12-22 14:01:30 -0400
commit6fd767ec7aa32adab4143a4057f58a71d6205c6f (patch)
tree02c6245bcf0a2aaf39602ead53cbce60a419220e
parentd3b452445076de6676391bf071f3c2d8f2048929 (diff)
Make playFile return a promise
-rw-r--r--players.js9
1 files changed, 9 insertions, 0 deletions
diff --git a/players.js b/players.js
index be303fd..cc20667 100644
--- a/players.js
+++ b/players.js
@@ -80,6 +80,15 @@ module.exports.WebPlayer = class extends Player {
   playFile(file) {
     this.audioEl.src = file
     this.audioEl.play()
+
+    return new Promise(resolve => {
+      const handleEnded = () => {
+        this.audioEl.removeEventListener('ended', handleEnded)
+        resolve()
+      }
+
+      this.audioEl.addEventListener('ended', handleEnded)
+    })
   }
 }