JSFiddle - React, Tailwind, and code Playground

HTML

<div ng-app="myApp">
    <div ng-controller="myApp">
        <ul>
            <li ng-repeat="item in getElements()">
                {{ item }}
            </li>
        </ul>
    </div>
</div>

JavaScript

angular.module('myApp', [])
.controller('myApp', function($scope, list) {    
    $scope.getElements = function() {
        return list.elements;
    };
}).factory('list', function($interval) {
    var elements = [];
    var elementsAdded = 0;
    var interval = $interval(function() {
        ++elementsAdded;
        elements.push(elementsAdded);
        alert();
        if(elementsAdded >= 5) {
            $interval.cancel(interval);
        }        
    }, 500);
    
    return {
        elements: elements
    };
});