db.collection("chatroom").where("who", "array-contains-any", [Myuid, Selleruid]).get().then((result) => { db.collection('chatroom').add(data) window.location.href = "/chat.html" })esto es parte de mi código que agrega una base de datos de sala de chat al servidor firebase. No funciona, pero cuando elimino window.location.href = "/chat.html", podría agregar datos. No puedo entender por qué funciona después de eliminarlo y por qué no funciona con esa ventana ~ línea.
Llamar a add() inicia una operación de escritura asincrónica, que ocurre en segundo plano (para evitar bloquear el navegador). Sin embargo, su declaración window.location.href = "/chat.html" se ejecuta de inmediato, por lo que la operación de escritura se cancela antes de que pueda completarse.
Para solucionar esto, querrá esperar a que se complete la operación de escritura antes de navegar:
db.collection('chatroom').add(data).then(() => { window.location.href = "/chat.html" })