我正在使用Flutter作为前端移动框架,并使用Firebase实时数据库作为后端。我正在尝试计算某个特定组件的点击次数,为此我从firebase获得了最近的点击计数,并将其增加1并保存回去。一切正常。这里的问题是当我尝试直接在Firebase中重置计数时,dart中的DataSnapshot接收到旧计数。我什至删除了该节点,但它仍然检索非null的最近计数。下面是我的代码。
_buttonClicked() async {
DatabaseReference ref = FirebaseDatabase.instance
.reference()
.child('analitics')
.child('buttonclicks');
ref.keepSynced(true);
ref.once().then((DataSnapshot snap) {
if (snap.value == null) {
ref.set(
{'count': 1},
);
} else {
AnaliticsModel count = AnaliticsModel.fromSnapshot(snap);
int tempcount = count.count;
tempcount += 1;
ref.update(
{'count': tempcount},
);
}
});
}