Flutter Firebase проверка значения в выпуске цикла - PullRequest
0 голосов
/ 27 апреля 2019

Я пытаюсь проверить, равно ли значение тому, что я пытаюсь вставить, и я создал цикл, чтобы проверить, есть ли уже существующее значение, чтобы выйти из цикла и дать trun = false;и если предел достигнут без запуска первого if, выйти из цикла и задать trun = true;

Database Image

inden = приращение для цикла

clasD = то, с чем я сравниваю.

ccd = данные в базе данных для сравнения.

classCountee = предел, равный длине classData +1.

у меня проблема с firebase, чтение, кажется, запаздывает или что-то в этом роде и возвращает ноль в печати

print ("- $ ccd --- $ clasD --- inden $ inden");

myLoop:
                    while (true) {
                      var ccd;
                      database
                          .reference()
                          .child('user')
                          .child(userUid)
                          .child('classData')
                          .child(inden.toString())
                          .onValue.listen((Event snapshot) {
                        Map<dynamic, dynamic> data = snapshot.snapshot.value;
                        uCcd = data;

                        ccd = data['classId'];

                        print("=-=-ccd $ccd");
                        print("=-=-Ucd $uCcd");
                      });

                      if (ccd?.isEqual(clasD.toString()) ?? true && ccd != null) {
                        print("class is equal so good no add $ccd == $clasD");
                        trun = false;
                        break myLoop;
                      }
                      if (ccd != clasD) {
                        inde = int.parse(inden) + 1;
                        inden = inde.toString();
                        print("--$ccd---$clasD---inden $inden");
                      }

                      if (inde >= classCountee) {
                        trun = true;
                        print("inde >= classCountee $trun");
                        break myLoop;
                      }
                    }

log

I/flutter (15368): --null---VeXKAIJnk6JZ9LDdfz---inden 1
I/flutter (15368): --null---VeXKAIJnk6JZ9LDdfz---inden 2
I/flutter (15368): --null---VeXKAIJnk6JZ9LDdfz---inden 3
I/flutter (15368): --null---VeXKAIJnk6JZ9LDdfz---inden 4
I/flutter (15368): --null---VeXKAIJnk6JZ9LDdfz---inden 5
I/flutter (15368): --null---VeXKAIJnk6JZ9LDdfz---inden 6
I/flutter (15368): --null---VeXKAIJnk6JZ9LDdfz---inden 7
I/flutter (15368): --null---VeXKAIJnk6JZ9LDdfz---inden 8
I/flutter (15368): --null---VeXKAIJnk6JZ9LDdfz---inden 9
I/flutter (15368): --null---VeXKAIJnk6JZ9LDdfz---inden 10
I/flutter (15368): inde >= classCountee true
I/flutter (15368): trun is true
I/flutter (15368): =-=-ccd ClassID
I/flutter (15368): =-=-Ucd {classId: ClassID, className: Class Name}
I/flutter (15368): =-=-ccd VeXKAIJnk6JZ9LDdfz
I/flutter (15368): =-=-Ucd {classId: VeXKAIJnk6JZ9LDdfz, classLimit: 12, className: arab-212}
I/flutter (15368): =-=-ccd VeXKAIJnk6JZ9LDdfz
I/flutter (15368): =-=-Ucd {classId: VeXKAIJnk6JZ9LDdfz, classLimit: 12, className: arab-212}
I/flutter (15368): =-=-ccd VeXKAIJnk6JZ9LDdfz
I/flutter (15368): =-=-Ucd {classId: VeXKAIJnk6JZ9LDdfz, classLimit: 12, className: arab-212}
I/flutter (15368): =-=-ccd VeXKAIJnk6JZ9LDdfz
I/flutter (15368): =-=-Ucd {classId: VeXKAIJnk6JZ9LDdfz, classLimit: 12, className: arab-212}
I/flutter (15368): =-=-ccd VeXKAIJnk6JZ9LDdfz
I/flutter (15368): =-=-Ucd {classId: VeXKAIJnk6JZ9LDdfz, classLimit: 12, className: arab-212}
I/flutter (15368): =-=-ccd VeXKAIJnk6JZ9LDdfz
I/flutter (15368): =-=-Ucd {classId: VeXKAIJnk6JZ9LDdfz, classLimit: 12, className: arab-212}
I/flutter (15368): =-=-ccd VeXKAIJnk6JZ9LDdfz
I/flutter (15368): =-=-Ucd {classId: VeXKAIJnk6JZ9LDdfz, classLimit: 12, className: arab-212}
I/flutter (15368): =-=-ccd VeXKAIJnk6JZ9LDdfz
I/flutter (15368): =-=-Ucd {classId: VeXKAIJnk6JZ9LDdfz, classLimit: 12, className: arab-212}
I/flutter (15368): =-=-ccd VeXKAIJnk6JZ9LDdfz
I/flutter (15368): =-=-Ucd {classId: VeXKAIJnk6JZ9LDdfz, classLimit: 12, className: arab-212}

* обратите внимание, то же самое произойдет, если я использую один раз (). Then ()

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