2016-02-22 97 views
0

讓我先說我是firebase的新手。正如我已經與angularfire了一點玩,我注意到,$ firebaseArray是在我的項目有點慢......

但是,當我使用控制檯找到當收到從火力的結果,我意識到,有一秒鐘之前,結果在離子視圖中顯示出來之後。

如果我在說什麼是真不明白,這裏是一個codepen與$ firebaseArray

var lists = $firebaseArray(ref.child('lists')); 

這裏是其他[codepen](抱歉不能添加兩個以上的鏈路),其中我加入這行

lists = [{"name":"test"}];

後有一個警報和控制檯登錄都codepen顯示當數據到達。

我在問的是:爲什麼有第二個延遲之後數據已經到了?

編輯:

因爲「慢」並不真正意味着什麼,我把我的瀏覽器的網絡截圖的第一codepen,顯示有多少時間需要顯示的數據: screenshot

+1

「慢」是非常主觀的。你測量什麼行動?多久時間?你預計它會花多長時間?另外請注意,雖然您添加了一個鏈接到codepen是很好的,但您的問題應該包含重現問題的最小代碼。 –

+0

我的意思是「慢」,因爲數據已經從火力_already arrived_(在我codepen它是可用時,警報大作),再有就是其顯示之前一段時間(大約需要1或2秒要顯示它。我認爲這是一個_lot_,因爲數據已經到達,所需要做的只是顯示它,但它仍然需要幾秒鐘才能完成。所以我試着用一個本地的JSON數組來做這件事,這次在數據可用(相同的警報)之後,它立即顯示出來...... –

+0

它在0..0001毫秒的時間內對我顯示速度很快......它可能與您的計算機有關。我不能說任何關於.. – amanuel2

回答

0

即使我沒有真正尋找它時,我發現這個線程,被賦予了回答我的問題在這裏:

Asynchronous access to an array in Firebase

由當時的瀏覽器執行你的console.log(userTokens);最有可能的數據尚未加載。所以它只是將對象 作爲佔位符打印到控制檯。

通過它到達for循環的時間,數據可能或可能尚未 從火力地堡加載。

在某些時候,你點擊旁邊記錄userTokens的箭頭。當時數據已從Firebase加載並且控制檯顯示 最新數據。

所以無論如何,感謝你的幫助,試圖回答我的問題:)

相關問題