0
最近玩過Firebase RTDB,我一直在使用.once('value', v => ...)
來構建我的應用程序的GUI。下面確切的代碼:Firebase RTDB`ref.once()`被多次執行
<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()'回調,則在訪問令牌刷新時將每小時調用一次。 –