Мой тип функции Stream<QuerySnapshot>
для обновления данных в режиме реального времени.Внутри этой функции я пытаюсь получить данные из облачного пожарного хранилища.Я хочу использовать эти данные для обновления моего приложения.Проблема в том, что данные, которые я получил, обнуляются после выхода из then()
.Я знаю, что then()
возвращает только ноль.как сохранить данные за пределами then()
?Любая помощь будет высоко ценится.
Stream<QuerySnapshot> getUsersTripsStreamSnapshots(BuildContext context)async*{
String data ;
DocumentReference doc;
final uid = await Provider.of(context).auth.getCurrentUID();
DocumentReference documentReference = Firestore.instance.collection("users").document(uid);
documentReference.get().then((datasnapshot){
if(datasnapshot.exists){
data = datasnapshot.data["restaurant"].toString();
setdata(data);
print(data); }
});
yield* Firestore.instance.collection('restaurants').document(getdata()).collection('trips').snapshots(); }
void setdata(String data) {
realdata=data;
print(realdata);
}
String getdata(){
return realdata;
}
Это то, что я пытался.«Реальные данные» после этого все еще равны нулю ((datasnapshot) {}