Angular Deferred Test

by spectre

HTML

<div ng-app>
    <h2>Angular Deferred Test</h2>
    <div ng-controller="BlockCtrl">
        <div>{{msg.text}}</div>
    </div>  
</div>

JavaScript

function BlockCtrl($scope, $q) {
    var deferred = $q.defer();
    $scope.msg = deferred.promise;
    
    setTimeout(function() {
        $scope.$apply(function() {
            deferred.resolve({text:"Hello World"});    
        });
    }, 1000);
    
    $scope.msg.then(function(msg) {
        console.log(msg.text);
    });
}