Рекурсивный цикл $ http.get в for
Я использую Angular 1.5. У меня есть функция, которая запрашивает категории, затем для каждой категории она запрашивает продукты. Я хочу показать сообщение после того, как все продукты получены, сколько было получено. Он выводит 0. Какое решение?
function getProducts() {
vm.categories = [];
var prodcount = 0;
$http.get("localhost/menu/1/categories")
.then(function(response) {
var categories = response.data;
angular.forEach(categories, function(cat) {
$http.get("localhost/category/" + cat.id + "/products")
.then(function(response) {
cat.products = response.data;
vm.categories.push(cat);
prodcount += cat.products.length;
});
});
$mdToast.show($mdToast.simple().textContent("retrieved " + vm.categories.length + " categories and, " + prodcount + " products!."));
});
}