【发布时间】:2016-07-03 10:44:18
【问题描述】:
最近在玩 firebase RTDB,我一直在使用 .once('value', v => ...) 来构建我的应用程序的 GUI。具体代码如下:
<script>
function onAuthCompleted(usr) {
var salesTxRef = firebaseApp.database().ref('/salesTx').limitToLast(5);
salesTxRef.once("value", salesTx => {
salesTx.forEach(txRef => {
const tx = txRef.val();
const $item = $('<li></li>').html('<a href="' + txRef.key + '">$' + tx.total + ' <small>' + tx.currencyCode + '</small></a>');
$('.main ul').append($item);
});
});
}
</script>
问题是,如果我将页面打开足够长的时间,.once() 会被多次调用(每 2-3 小时一次)。这是javascript库上的错误吗?已知问题?是不是我做错了什么或者有什么误解?
【问题讨论】:
-
什么叫
onAuthCompleted()?因为如果那是基于 Firebase 身份验证onAuthStateChanged()回调,它将在访问令牌刷新时每小时调用一次。
标签: javascript firebase firebase-realtime-database