Запрос на обновление Firebase выполняется бесконечно, когда я использую переменную - PullRequest
0 голосов
/ 11 апреля 2019

Я использую 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
    });
  }
});

 }

1 Ответ

0 голосов
/ 12 апреля 2019

я использовал onvalue метод, потому что всякий раз, когда значение изменяется, он вызывается снова и снова.Я изменяю его на один раз , и он отлично работает.

Я сохраняю этот вопрос, если кто-то сталкивается с той же проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...