Обещания AngularJS с firebase (angularFire)

Я пытаюсь получить данные в сервисе, а затем обновлять представление в течение всего дня :( и я пришел с этим, но я думаю, что это излишество может кто-нибудь, пожалуйста, ПОКАЖИТЕ МНЕ ХОРОШИЙ СПОСОБ, как с этим справиться?

+ ЭТО НЕ ОБНОВЛЯЕТ ВИД, КОГДА СОЗДАЕТСЯ НОВАЯ ПОДКАТЕГОРИЯ... И МНЕ ЭТО НУЖНО

Структура:

 categories
     -JF1RmYehtF3IoGN9xHG
          name: "something" 
           ownerId: "something"
           subcategories
                  -JFBznMYEVp1ZkudEbrl: true
                  -JFDmmf6vVo8w8TpF0ny: true

Контроллер:

    $scope.findSubCategories = function() {
      Categories.findSubCategories($routeParams.categoryId).then(function (returnedData) {
        $scope.subCategories = returnedData;
      });
    }

Услуга:

      findSubCategories: function(categoryId) {
        var returnedSubcategories = [];

        var defer = $q.defer();

        var subCategoriesIdsList = FireRef.categories().child('/'+categoryId).child('subcategories');

        subCategoriesIdsList.on("child_added", function(snap) {
          FireRef.subcategories().child("/"+snap.name()).on("value", function(snap) {
            returnedSubcategories.push(snap.val());
            defer.resolve(returnedSubcategories);
            console.log("each");
          });
        });

        return defer.promise;
      },

Большое спасибо, если кто-то может помочь!


person Lukas Lukac    schedule 08.02.2014    source источник
comment
Связанный ответ: stackoverflow.com/a/17458617/777436   -  person Teo.sk    schedule 08.02.2014
comment
Я не уверен, в чем вопрос - пытаетесь ли вы, по вашему мнению, обновлять подкатегории для определенной категории?   -  person Anant    schedule 11.02.2014
comment
да, и что более важно, мне интересно иметь дело с неизвестным количеством асинхронных обратных вызовов   -  person Lukas Lukac    schedule 11.02.2014
comment
См.: stackoverflow.com/questions/21633540/loop-denormalized-data /   -  person Anant    schedule 12.02.2014