[英]the removeEventListener is not Working and it's not anonymous
所以我有一個提交帖子的函數,它在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 的視頻,但我仍然不明白如何使用它
我仍然不知道如何處理它,但我找到了一個解決方案,我只是克隆了舊按鈕並將其替換為克隆的按鈕,就像這樣:
const submit = document.getElementById("submitPost");
const newSubmit = submit.cloneNode(true);
submit.parentNode.replaceChild(newSubmit , submit)
newSubmit.addEventListener("click", submitPost);
我仍然想了解這個observal
是如何工作的
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.