Можно ли определить, когда был выполнен снимок Firebase?

0

Я выполняю следующий запрос Firebase:

var getAdmin = function() {
    var rootRef = new Firebase(FIREBASE_URI),
        adminList = [],
        deferred = $q.defer();

    rootRef.child('user').orderByChild('role').startAt(21).once('child_added',  function (administrator) {
        // Add each Administrator to Admin List
        adminList.push(administrator);
    });

    // deferred.resolve(?)

    return deferred.promise;
};

Я хочу разрешить обещание со списком администраторов. Как определить, когда моментальный снимок Firebase был полностью выполнен?

Теги:
firebase

1 ответ

1
Лучший ответ

Firebase - это платформа реального времени, поэтому список никогда не выполняется полностью.

Если вы просто захотите эту часть списка в тот момент времени, вы должны использовать .once('value', callback).

rootRef.child('user').orderByChild('role').startAt(21).once('value', function(list) {

    // Add each Administrator to Admin List
    list.forEach(function(adminSnap) {
        adminList.push(adminSnap.val());
    });

    deferred.resolve(adminList)
});

return deferred.promise;
  • 0
    Спасибо Анид. Я смотрел на это неправильно.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню