angularjs promises and $q.defer()

HTML

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

JavaScript

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


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

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

    Service_1.slowService(myName).then(
        (name) => {
        	alert('Hello ' + name + ' - you are quick!');
        }, (error) => {
        	console.error(error.message);
        });

    $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";
                console.log('name:', name);
                deferred.resolve(name);
                debugger;
            } else {
                deferred.reject('No name supplied !');
            }
        }, 3000);

        return deferred.promise;
	};
});