【发布时间】:2020-09-26 23:52:33
【问题描述】:
所以我有一个提交帖子的函数,它在 onAuthStateChanged(firebase) 之后调用我想删除它并在用户登录时再次添加它,但它没有被删除,我没有遇到任何错误
auth.onAuthStateChanged(function (user) {if (user) {
// User is signed in.
// creating posts
posts = db.collection("posts");
const { serverTimestamp } = firebase.firestore.FieldValue;
console.log(serverTimestamp)
const submitPost = async (event) => {
event.preventDefault();
let LastId = posts.doc("id");
let id;
LastId.get().then((doc) => {
id = doc.data().lastPost;
id++;
id = id.toString();
const post = {
uid: user.uid,
content: a.preview.innerHTML,
createdAt: serverTimestamp(),
id: Number(id),
};
console.log(post.uid);
posts.doc(id).set(post).then(closeMD()); // puted this line here instead of outside "then" because i need the id
LastId.update({ lastPost: Number(id) });
});
};
submit.addEventListener("click", submitPost);
submit.removeEventListener("click" , submitPost)}
编辑
我发现onAuthStateChanged 是observer,我并不真正了解如何使用它,我已阅读文档并观看了 firebase 的视频,但我仍然不明白如何使用它
【问题讨论】:
-
看起来你一添加监听器就删除它..?
-
是的,因为
user已更改,如您所见,我在函数中使用它
标签: javascript firebase firebase-authentication