我正在使用firebase並且我在Javascript中編寫了一個簡單函數來設置和更新數據。Firebase的SET方法不起作用
function setLastOnline(userID, InOut){
var dbLastonline = firebase.database().ref().child("lastonline");
if (InOut) {
dbLastonline.child(userID).set({
"isConnected":true,
"connectedby":"web",
"lastIn":firebase.database.ServerValue.TIMESTAMP,
"lastOut":0
});
} else {
dbLastonline.child(userID).update({
"isConnected":false,
"connectedby":"web",
"lastOut":firebase.database.ServerValue.TIMESTAMP
});
}
}
當我打電話要執行的功能設置方法,什麼也沒有發生......在數據庫中無誤碼無數據...
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
setLastOnline(user.uid, true);
}
}
但是,當我調用同一個函數來執行更新,一切工作正常。
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
setLastOnline(user.uid, false);
firebase.auth().signOut();
}`
}`
我在做什麼錯了?
在此先感謝。
我不會立即看到這段代碼有什麼問題。你能創建一個重現問題的jsbin嗎? –
在** set **調用之前添加一個打印,以確保您的代碼正在按預期運行... –
我已經測試了一切。該代碼正在執行,但不記錄在數據庫中。在今天的測試中,我在Chrome控制檯中發現了Firebase的VERBOSE:** [違規]避免在www.gstatic.com/firebasejs/3.6.8/firebase.js**的第362行使用document.write()。它出現在執行SET方法的恰好時刻。 –