mpdClient.factory('serverEvents', function ($rootScope) { var events = new EventSource('/api/stream') events.onmessage = function(e) { response = JSON.parse(e.data); $rootScope.$apply(function() { $rootScope.$broadcast('update:' + response.type, response.data) }) } })