2016-10-29 3 views
0

이것은 아주 기본적인 질문이므로 미리 사과드립니다. 그러나 나는 밤새도록 이것을 고심하고있다. 나는 간단한 firebase 데이터베이스 쿼리를 가지고있다 ... 나는 작품을 안다. 나는 child_added를 사용하여 쿼리하는 지점에서 각각 다른 노드에 대해 몇 번씩 리턴한다.Firebase 기본 약속 반환

나는 콜백이 끝나면 콜백을 보완하려고한다. 지금 당장은 약 10 개의 다른 값을 반환 할 것이므로 데이터베이스 참조가 끝난 후 코드를 실행하기 위해 약속 또는 일종의 콜백을 사용하는 것이 목표입니다.

var getIsStarred = getFirebase().database().ref('feed/value').on('child_added').then(function(snapshot) { 
    console.log("JX10: ok") 
    }); 

Promise.(getIsStarred).then(function(results) { 
    console.log("JX10: end promise thing okay sick") 
}); 

미리 도움을 청하십시오.

+1

'itll는 각각 다른 node' 몇 번 리턴 - 약속은 정확히 한 번만 성취 될 수 있기 때문에 당신이 약속을 사용할 수 없습니다 ...'않습니다 .on ('child_added')'약속을 반환합니까? –

답변

2

모든 어린이가로드 된 후 작업을 실행하려는 것처럼 들립니다. 당신은 once('value' 핸들러 그렇게 할 것 :

var getIsStarred = getFirebase().database().ref('feed/value').once('value').then(function(snapshot) { 
    console.log("the initial items have been loaded") 
});