首页 > 解决方案 > 暂停 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);
              });
          });

标签: javascript

解决方案


推荐阅读