I am new to angularjs. My goal is very simple. I want to make an ajax call to get data and, once complete, I want to make a second call to get another set of data that is dependent on information in the first set.
I'm trying to do this utilizing promise mechanisms so that I can utilize chaining instead of nested ajax calls and to better retain the ability to have independent functions that I can tie together as needed.
My code resembles the following:
var promiseGetWorkTypes = function ($q, $scope, $http) {
 console.log("promiseGetWorkTypes");
 return $q(function (resolve, reject) {
  $http({
   method: 'GET',
   url: '/WorkTypes'
  }).then(
   function (payload) {
    console.log("Got workttypegroups")
    console.log(payload);
    $scope.WorkTypeGroups = payload.data;
    console.log("End of worktypegroups");
    resolve(payload);
   },
   function (payload) {
    reject(payload);
   });
 });
};
var promiseGetRecentActivities = function ($q, $scope, $http) {
 console.log("promiseGetRecentActivities");
 return $q(function (resolve, reject) {
  $http({
   method: 'GET',
   url: '/RecentHistory'
  }).then(
   function (payload) {
    $scope.RecentActivities = payload.data;
    resolve(payload);
   },
   // data contains the response
   // status is the HTTP status
   // headers is the header getter function
   // config is the object that was used to create the HTTP request
   function (payload) {
    reject(payload);
   });
 });
};
var index = angular.module("index", []);
index
.controller('EntitiesController', function ($scope, $http, $timeout, $q) {
 promiseGetWorkTypes($q, $http, $scope)
  .then(promiseGetRecentActivities($q, $http, $scope));
}However, when I look at my debug console, I see that the call to "promiseGetRecentActivities" is beginning before the call the Ajax handling has occurred for "promiseGetWorkTypes".
What am I missing or doing wrong here?
 
    