[英]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.