簡體   English   中英

firebase.once 觸發多次

[英]firebase .once is firing multiple times

我的試用警報不斷觸發 4 到 6 次,不知道為什么。 我正在使用 firebase 和 Electron 但不確定我做錯了什么。 我的試用警報 function 應該只觸發一次

userRef
              .orderByChild("hardware_id")
              .equalTo(id)
              .once("child_added", function (snapshot) {
                // Check if user is on trial
                if (snapshot.val().status == "trial") {
                  if (
                    snapshot.val().last_session - snapshot.val().created >
                    604800 * 1000
                  ) {
                    // Trial Expired do something
                    PurchaseApp(
                      "Your trial has expired",
                      "To continue using ELMC Midi you must purchase an activation license",
                      true
                    );
                  } else {
                    // give access to software
                    var statusUpdate = {
                      last_session: firebase.database.ServerValue.TIMESTAMP,
                    };
                    database.ref("Accounts/" + id).update(statusUpdate);

                    //Trial alert
                    TrialAlert(snapshot.val().created);
                    // Access application
                    MainAppWindow(
                      "snap_log.val().message",
                      snapshot.val().status
                    );
                  }
                }

我實際上不確定這是否是預期的行為,但您絕對可以通過向查詢添加限制來停止它並節省一些帶寬:

userRef
  .orderByChild("hardware_id")
  .equalTo(id)
  .limitToFirst(1)
  .once("child_added", function (snapshot) {

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM