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)
};
}]);