【发布时间】:2019-09-02 12:47:13
【问题描述】:
我正在使用 firebase,当我尝试使用某个变量更新值时,它会无限运行,如果我使用具有静态值的相同代码,那么它可以正常工作。
这是我现在正在使用的功能。
updatetotal(String value, String type, int update) async{
FirebaseUser user = await FirebaseAuth.instance.currentUser();
int total, income, expense;
final ref = FirebaseDatabase.instance.reference().child('users');
ref.orderByChild('username').equalTo(user.email).onValue.listen((event){
DataSnapshot data = event.snapshot;
var keys = data.value.keys;
var todo = data.value;
print(keys);
print(value);
print(type);
for (var key in keys) {
total = todo[key]['total'];
income = todo[key]['income'];
expense = todo[key]['expense'];
if(type == 'Income'){
total = total + int.parse(value);
income = income + int.parse(value);
}else{
total = total - int.parse(value);
expense = expense + int.parse(value);
}
ref.child(key).update({
'total': total,//here if i user static value then it runs as expected
'income': 60,
'expense': 0
});
}
});
}
【问题讨论】:
标签: firebase firebase-realtime-database flutter