0
我想創建一個倒數計時器。角網絡工作者不工作
我正在使用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
});
}
}
將工作者間通信封裝到Angular服務中並通過其接口與控制器進行通信也是很好的 – shershen