最近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()'コールバックに基づいているため、アクセストークンがリフレッシュされるときに毎時呼び出されるためです。 –