factory $http

by Oron Ben-David

HTML

<div ng-app="jsfiddle">
  	<div ng-controller="MainCtrl">
  			Data: {{data}}<br>
		</div>
    
    <div ng-controller="SecondCtrl">
  			Data: {{data}}<br>
		</div>
</div>

JavaScript

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

app.factory('myService', function($http) {
  return {
    async: function() {
      return $http.get('https://api.myjson.com/bins/1v21f');  
    }
  };
});

app.controller('MainCtrl', function( myService,$rootScope, $scope, $timeout) {
	$scope.data = "oron";
  myService.async().then(function(d) { 
    $timeout(function() {
                $rootScope.data = d;
    		}, 1000);
    
  });
});

app.controller('SecondCtrl', function($rootScope, $scope, $timeout) {
	$scope.test = $rootScope.data;

});