2016-05-23 54 views
3

我的Firebase數據庫的根部有一個{ hello: 'world'}。每當我嘗試讀取hello在Node中的值時,除非我修改Node進程中的值,否則不會執行回調。Firebase未按預期運行回調

這裏的once電話:

let callback = (snapshot) => { 
    console.log('The value is ', snapshot.val()); 
}; 

db.ref('hello').once('value', callback); 

在這一點上,我期望回調運行並打印「的值是世界上」印刷......但沒有任何反應。現在說我使用on而不是once。即使我修改Firebase Web控制檯或其他Node進程的值,仍不會調用回調!奇怪的是,所有這些代碼在具有相同庫版本(v3.0.2)的瀏覽器中按預期工作。

我設法執行回調的唯一方法是直接從同一個節點進程修改值。

db.ref('hello').once('value', callback); 
db.ref('test').set('moon'); 

// => 'The value is moon.' 

我已經創建了測試腳本repository幫助複製一個調試的問題。

+0

您的節點處理是否正在退出?你確定在回調應該發生的時候它仍然在運行嗎? – dylanjha

+0

是的Node進程仍在運行。 – fny

+0

嘗試添加錯誤回調並查看它記錄的錯誤。 – Kato

回答

2

事實證明,這是一個已知問題,影響到某些帳戶,Firebase團隊正在努力解決這個問題!

+0

你知道是否有公共跟蹤器,我們可以在那裏觀察錯誤?在這一張上拉着我的頭髮...... –

+1

沒有公開的錯誤跟蹤器,但是如果您通過電子郵件發送支持,他們會將您列入清單,以便在發生更改時收到通知。 – fny