Webeworker array test

HTML

<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<script src="http://mattslocum.github.io/ng-webworker/bower_components/ng-webworker/src/ng-webworker.js"></script>
<input type="number" ng-model="num"/>
<button ng-click="ctrl.makePrimes(num)">Make Primes</button>
<button ng-click="ctrl.makePrimesWorker(num)">Make Primes with Worker</button>
<br/>
<p ng-show="ctrl.running">Webworker is running</p>
<div class="primes">
  <span ng-repeat="prime in ctrl.primes">{{prime}}</span>
</div>

CSS

.primes {
    word-break: break-word;
}
.primes span {
    padding: 5px;
}

JavaScript

var app = angular.module('myApp', ['ngWebworker']);

app.controller('ctrl', function($scope, Webworker) {
    function generatePrimes(amount) {
        var primes = [2,3],
            counter = 5,
            isPrime = true;
        for (;primes.length < amount; counter += 2) {
            isPrime = primes.some(function(prime) {
                return counter % prime == 0;
            });
            if (!isPrime) {
                primes.push(counter);
            }
        }
        primes.length = Math.max(0,amount);
        return primes;
    }
    
    $scope.num = 5000;

    this.makePrimes = function(num) {
        this.primes = generatePrimes(num);
    };
    
    this.makePrimesWorker = function(num) {
        var self = this;
        this.running = true;
        Webworker.create(generatePrimes).run(num).then(function(primes) {
            self.primes = primes;
            self.running = false;
        });
    };
});