Angular $q.all Demonstration

HTML

<div ng-app="myApp">
  <div ng-controller="ctrl"></div>  
  <div ng-controller="ctrl2">
    <button ng-click="click()">CLICK ME</button>
  </div>

</div>

JavaScript

var app = angular.module("myApp", []);
app.controller("ctrl", ['$rootScope', '$scope', function ($rootScope, $scope) {
  $rootScope.$on("somethingClicked", function (a) {
    console.log(a);
  });
}]);


app.controller("ctrl2", ['$rootScope', '$scope', '$timeout', '$q', function ($rootScope, $scope, $timeout, $q) {
  $scope.click = function(){
    console.log(1)
    var obj = "ahoy!";
    $rootScope.$broadcast("somethingClicked",obj)
  };
}]);