2016-10-29 97 views
0

這是一個很基本的問題,所以我提前道歉。但是我一整晚都在爲此苦苦掙扎。我有一個簡單的firebase數據庫查詢...我知道的工作..我使用child_added所以它會返回幾個不同的節點關閉我查詢的現場。Firebase基本承諾退回

然後,我完成調用後,試圖讚揚回調。現在它將返回大約10個不同的值,因此我的目標是在數據庫引用完成後使用promise或某種回調來運行代碼。

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") 
});