Я пытаюсь создать таймер обратного отсчета.Угловой веб-рабочий не работает
Я использую web-worker, который изменяет значение переменной с помощью setInterval и затем отправляет ее через postMessage в файл сценария, который затем обновляет переменную области видимости.
Он успешно обновляет переменную в 10-15 раз. Но после этого он перестает обновляться.
Я создал это plunkr Проверьте значение обратного отсчета, которое оно перестает работать после 85 или около того.
script.js
angular
.module('App', [])
.controller('MainCtrl', ['$scope', '$window', function($scope, $window) {
$scope.time = 100;
var worker = new Worker('worker.js');
worker.onmessage = function(e) {
$scope.time = e.data.time;
$scope.$apply();
};
worker.postMessage($scope.time);
}]);
worker.js
self.onmessage = function(e) {
var time = e.data;
var timer = setInterval(toDo, 1000);
function toDo() {
time = time - 1;
//console.log(time);
postMessage({
time: time
});
}
}
было бы также полезно инкапсулировать общение с пользователем в Угловую службу и связаться с ним через контроллер через его интерфейс – shershen