В Dart / Flutter и обучении Firebase Firestore ... Я использую следующий метод для тестирования перед созданием пользовательского интерфейса:
_testFireStore() async {
var result = Firestore.instance
.collection('users')
.where('uid', isEqualTo: 'IvBEiD990Vh0D9t24l2GCCdsrAf1')
.snapshots();
await for (var snapshot in result) {
for (var user in snapshot.documents) {
print('main.DEBUG: ' + user.data.toString());
}
}
}
Он работает как положено - оператор print выполняется изначально, , но также и в режиме реального времени каждый раз, когда любое поле обновляется в документе в базе данных Firestore .
Как можно изменить этот код так, чтобы снимок был получен только один раз, а не " подписаны / прослушаны "на ... и, таким образом, мы не тратим пропускную способность на нежелательные / ненужные данные, а оператор печати выполняется только один раз?