Using promises in Angular view (not 1.2)

by yoorek

HTML

<div ng-app="myModule" ng-controller="HelloCtrl">
     <h1>Messages</h1>

    <ul>
        <li ng-repeat="message in messages">{{ message }}</li>
    </ul>
</div>

JavaScript

angular.module('myModule', [])
    .factory('HelloWorld', function ($q, $timeout) {

    var getMessages = function () {
        var deferred = $q.defer();

        $timeout(function () {
            deferred.resolve(['Hello', 'world']);
        }, 500);

        return deferred.promise;
    };

    return {
        getMessages: getMessages
    };

})
    .controller('HelloCtrl', function ($scope, HelloWorld) {
    $scope.messages = HelloWorld.getMessages();
});