I am following an AngularJS tutorial that uses $resource to retrieve JSON data from an API call.  For the purpose of understanding, I tried to replace the $resource code with $http code and I encountered a scope problem.  Logging $scope.weatherResult outside of .success() results in undefined. Why is that the case?  The view receives the data just fine.
Also,
// $scope.weatherAPI = $resource(
     'http://api.openweathermap.org/data/2.5/forecast/daily',
     { callback: 'JSON_CALLBACK' }, { get: { method: 'JSONP' }}
   );
// $scope.weatherResult = $scope.weatherAPI.get({ q: $scope.city, cnt: 2});
$http.get('
  http://api.openweathermap.org/data/2.5/forecast/daily'
    + '?q='
    + $scope.city
    + '&'
    + 'cnt=2'
  )
  .success(function(data) {
    $scope.weatherResult = data;
  })
  .error(function(error) {
    console.log(error);
  });
console.log($scope.weatherResult);
 
     
     
    