angular-soundmanager2 icon indicating copy to clipboard operation
angular-soundmanager2 copied to clipboard

$apply already in progress

Open xduseko opened this issue 9 years ago • 2 comments

This error occurs when angularPlayer service is used and soundManager directive exists on the page.

Example:

  1. Call angularPlayer.addTrack inside ng-click event handler. Note: Every ng-something handler is executed in $apply phase by AngularJS.
  2. Method angularPlayer.addTrack broadcasts player:playlist event.
  3. SoundManager directive catches the event.
scope.$on('player:playlist', function(event, data) {
    scope.$apply(function() {
        scope.playlist = data;
    });
});

Note: We are still in $apply phase, because angular events are handled synchronously. 4. Error occurs

Error: [$rootScope:inprog] $apply already in progress

The plunker is here http://plnkr.co/edit/77Fy0oJpvRrPrmG1YRbR?p=preview.

xduseko avatar Feb 05 '16 10:02 xduseko

Pull request https://github.com/perminder-klair/angular-soundmanager2/pull/43

xduseko avatar Feb 05 '16 11:02 xduseko

I have the same problem, solved by xduseko's fix, thanks.

elprup avatar Mar 20 '16 05:03 elprup