Edit in JSFiddle

(function () {
    var app = angular.module("myApp", []);
    app.service('noPromise', function($timeout) {
        return {
            getResult: function() {
                //return { status: "noPromise" };
                return $timeout(function() {
                    return { status: "noPromise" };
                                           }, 1000);
            }
        };
    });
    app.service("promise", ['$q', '$timeout', function($q, $timeout) {
        return {
            getResult: function() {
                var deferral = $q.defer();
                $timeout(function() {
                    deferral.resolve( { status: "promise" } );
                }, 3000);
                return deferral.promise;
            }
        };
    }]);
    app.run(['$rootScope', '$q', 'noPromise', 'promise', 
             function ($rootScope, $q, noPromise, promise) {
                $rootScope.status = 'Ready.'; 
                 $q.when(noPromise.getResult()).then(function(result) {
                     $rootScope.status = result.status;
                 });
                 $q.when(promise.getResult()).then(function(result) {
                     $rootScope.status = result.status;
                 });
    }]);
})();
<div ng-app="myApp">{{status}}</div>