Я пытаюсь проверить, равно ли значение тому, что я пытаюсь вставить, и я создал цикл, чтобы проверить, есть ли уже существующее значение, чтобы выйти из цикла и дать trun = false;и если предел достигнут без запуска первого if, выйти из цикла и задать trun = true;
![Database Image](https://i.stack.imgur.com/UjaxX.png)
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 ()