angularjs promises and $q.defer()

http://stackoverflow.com/posts/27868388

HTML

<script src="http://code.angularjs.org/1.3.5/angular.js"></script>
<div ng-app="myApp">
    <div ng-controller="Controller_1">
        myName :<br>
        {{myName}}<br>
        <br>
    </div>
</div>

JavaScript

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


myApp.controller('Controller_1', ['$scope', 'Service_1', function($scope, Service_1) {
    
    var myName = "Ben";

    Service_1.slowService(myName)
        .then(Service_1.fastService(theNameThatIGot));

    $scope.myName = myName;
}]);



myApp.service('Service_1', function($q) {
	this.slowService = function (name) {
		var deferred = $q.defer();
        console.log('Start of slowService:', name, Date.now());
		
		setTimeout(function() {
			console.log('setTimeout name:', name, Date.now());

            if(name){
                name = 'Hello, ' + name + " is learning Angularjs";
                alert(name); 
                    console.log('name:', name);
                deferred.resolve(name);
            } else {
                deferred.reject('No name supplied !');
            }
        }, 3000);

        return deferred.promise;
	};
    
    this.fastService = function(name){ 
        console.log('Start of fastFunction:', name, Date.now());
        alert('Hello ' + name + ' - you are quick!'); 
    }; 
});