У меня есть приложение AngularJS со следующим контроллером. Он отлично работал с GET на регулярном ресурсе JSON и ручным запросом на обновления, но я не могу заставить его работать с событиями Server-Sent. Проблема, с которой я столкнулся, заключается в том, что после получения SSE-события и установки/обновления переменной openListingsReport мое представление не обновляется. Очевидно, я пропустил очень элементарную концепцию. Пожалуйста, помогите мне исправить это.
var rpCtrl = angular.module('rpCtrl', ['rpSvc']);
rpCtrl.controller('rpOpenListingsCtrl', ['$scope', 'rpOpenListingsSvc',
function ($scope, rpOpenListingsSvc) {
$scope.updating = false;
if (typeof(EventSource) !== "undefined") {
// Yes! Server-sent events support!
var source = new EventSource('/listings/events');
source.onmessage = function (event) {
$scope.openListingsReport = event.data;
$scope.$apply();
console.log($scope.openListingsReport);
};
}
} else {
// Sorry! No server-sent events support..
alert('SSE not supported by browser.');
}
$scope.update = function () {
$scope.updateTime = Date.now();
$scope.updating = true;
rpOpenListingsSvc.update();
}
$scope.reset = function () {
$scope.updating = false;
}
}]);