# #flutter #google-cloud-firestore
Вопрос:
Я хочу получить [‘Время начала] в этом методе.
Но я не могу этого понять.
Я получаю следующую ошибку
Метод «данные» не определен для типа «Будущее». Попробуйте исправить имя на имя существующего метода или определить метод с именем «данные».
Future<String> getStudyTime()async {
final getStartTime =
await FirebaseFirestore.instance.collection('user').doc(uid()).get().data()['startTime'];
final DateTime now = DateTime.now();
final formatTime = DateFormat('hh:mm a').format(now);
var hh = now.hour;
var mm = now.minute;
var hhmm = "$hh:$mm";
studyTime = int.parse(hhmm);
return studyTime;
}
Ответ №1:
Вызов get()
возвращает a Future
, поэтому вам нужно использовать await
on get
, чтобы получить его значение:
final doc = await FirebaseFirestore.instance.collection('user').doc(uid()).get();
final getStartTime = doc.data()['startTime'];
Если вы хотите сделать это в одной строке, используйте круглые скобки, чтобы убедиться await
, что работа на get()
:
final getStartTime =
await (FirebaseFirestore.instance.collection('user').doc(uid()).get()).data()['startTime'];
Комментарии:
1. Спасибо! Я попробую это сделать.
2. Привет @damnexpress. Есть какие-нибудь новости здесь?
3. Я смог его очистить.спасибо