javascript - 暂停 addEventListener 事件
问题描述
当用户单击以关注我的应用程序中的其他用户时,我触发了以下添加事件侦听器。现在的问题是,用户连续多次点击关注,将创建多个通知,因此向该用户发送垃圾邮件。这里有什么可能做的,因为我不想用 a 删除跟随按钮侦听器removeEventListener()
,而是暂停它一会儿,然后发送通知?
let userReference = await firebase
.firestore()
.collection("users")
.doc(userId);
followButton.addEventListener("click", function () {
console.log("You started following " + userId);
userReference
.update({
followers: firebase.firestore.FieldValue.arrayUnion(
user.displayName
),
})
.then(() => {
// updated followers count
getUserDetails();
})
.then(() => {
firebase
.firestore()
.collection("notifications")
.doc(userId)
.collection("notifications")
.add({
action: "followed you",
userPhoto: user.photoURL,
from: user.displayName,
createdAt: new Date(),
})
.then((reference) => {
console.log("Successfuly added notification " + reference);
})
.catch((error) => {
console.log(error);
});
})
.catch((error) => {
console.log(error);
});
});
解决方案
推荐阅读
- wordpress - 根据重量和单位销售时,如何在 WooCommerce 中的价格后添加 /kg 或 /each
- deep-learning - tf.data.Dataset:不能为给定的输入类型指定 `batch_size` 参数
- python - 从字典列表中获取数据
- pde - Fenics中的复数
- reactjs - React Hooks:无法访问更新的 useState 变量
- apache - 在 Alpine 上运行 Apache 后的 SSH docker 容器问题
- r - 使用 switch 函数代替嵌套的 if 函数
- flutter - 无法使用静态访问访问 Flutter 实例成员“{0}”
- java - 我在 Selenium 中的程序没有停止执行是什么?
- bash - 这里是与VI交互的文档