I have a simple JavaScript that loads sounds:
prefix = \'modules/sounds/\';
_sounds = [\'nameOfSound\',\'nameOfSound\',\'nameOfSound\'];
for (var sound
You can write a service using $q.defer().
app.service('service', ['$q', function($q){
this.play = function play(sound) {
var deferred = $q.defer();
sound.play();
sound.onended = function(e) {
deferred.resolve(e);
}
return deferred.promise;
}
}]);
You can just call the service and expecting the promise return.
service.play(sound).then(function(e){});
Full plunker sample - http://plnkr.co/edit/FJYjj4ehslqZQZmYyL1I?p=preview