Я работаю над приложением, которое запрашивает определенные элементы из моего пожарного хранилища на основе зарегистрированного идентификатора пользователя.
Теперь я пытаюсь создать средство оповещения, связанное с этим, но каким-то образом оно ломается при установке фильтра в запрос firestore
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:tutora/states/question_notifier.dart';
import 'package:tutora/models/answers.dart';
import 'package:firebase_auth/firebase_auth.dart';
Future<String> id() async {
FirebaseUser user = await FirebaseAuth.instance.currentUser();
String userID = user.uid.toString();
return userID;
}
getAnswers(AnswerNotifier answerNotifier) async {
QuerySnapshot snapshot = await Firestore.instance
.collection('Questions')
.where(
'UserID',
isEqualTo: await id(),
)
.getDocuments();
List<Answer> _answerList = [];
snapshot.documents.forEach((document) {
Answer answer = Answer.fromMap(document.data);
_answerList.add(answer);
});
answerNotifier.answerList = _answerList;
}
Что в моей голове это должно сделать, так это то, что он получает текущий идентификатор пользователя, а затем на основании этого собирает только те вопросы, которые совпадают в столбце UserID.
This работает отлично, если я вручную ввожу идентификатор пользователя в своем коде, однако в тот момент, когда он запрашивает текущий идентификатор пользователя у id (), он не находит подходящих вопросов. Таким образом, мой список вопросов в приложении пуст, как и c мой _answerList здесь.
Пользователь вошел в систему в этот момент в приложении, где вызывается этот модуль ответа.
Благодарен для любой помощи это действительно беспокоит меня, теперь бросьте некоторое время.