Entonces, cuando estoy cerrando mi navegador, me gustaría agregar
const timestamp = Date.now(); const username = "MyUser"; const message = "I have logged out"; db.ref("messages/222222222222222" + timestamp).set({ username, message, });Yo he tratado:
const presenceRef = firebase.database().ref("disconnectmessage"); presenceRef.onDisconnect().set("I disconnected!");Pero no puedo agregar mi código en él:
db.ref("messages/222222222222222" + timestamp).set({ username, message, });¿Cómo puedo agregar mi propio detector de eventos a onDisconnect?
Esto no funciona para mí por alguna razón:
var connectedRef = firebase.database().ref(".info/connected"); connectedRef.on("value", (snap) => { if (snap.val() === true) { console.log("connected"); } else { //My code here is not working // When i'm closing the broswer it doesn't add it to // messages } });Deberías poder hacer esto:
db.ref("messages/222222222222222" + timestamp).onDisconnect().set({ username, message, }); Su último fragmento no funcionará, porque cuando .info/connected se establece en falso, la conexión con el servidor ya se ha perdido, por lo que ya no puede escribir en la base de datos remota.