Zwracanie tablicy przy użyciu Firebase
Próbuję znaleźć najlepszy przykład zwracania tablicy danychNode.js
z biblioteką Q (lub dowolną podobną biblioteką, nie jestem częściowy) podczas korzystania z Firebase.on("child_added")
;
Próbowałem użyćQ.all()
ale nigdy nie wydaje się czekać na wypełnienie obietnic przed powrotem. To jest mój obecny przykład:
function getIndex()
{
var deferred = q.defer();
deferred.resolve(new FirebaseIndex( Firebase.child('users').child(user.app_user_id).child('posts'), Firebase.child('posts') ) );
return deferred.promise;
}
function getPost( post )
{
var deferred = q.defer();
deferred.resolve(post.val());
return deferred.promise;
}
function getPosts()
{
var promises = [];
getIndex().then( function (posts) {
posts.on( 'child_added', function (_post) {
promises.push( getPost(_post) );
});
});
return q.all(promises);
}