Future<String> getCurrentUser() async {
    final FirebaseUser user = await _auth.currentUser();
    final uid = user.uid;
    return uid;
  }
我想在文档中包含用户uid,但无法获取。
 Stream<List<RezervasyonListesi>> get rezervasonlarlistesi1 {
   return rezervasyonCollectionRef
       .document() // **In document I want refer to user uid ;**
       .collection("rezerve")
       .snapshots()
       .map(_rezervasyonlistesifromsnap);
 }
我尝试了这个但是没用

  Stream<List<RezervasyonListesi>> get rezervasonlarlistesi {
    getCurrentUser().then((value) {
      return rezervasyonCollectionRef
          .document(value)
          .collection("rezerve")
          .snapshots()
          .map(_rezervasyonlistesifromsnap);
    });

  }

Stream >不是 future 的类型,因为我不能在该函数中使用异步。没有ascyn,如何获得我的Firebase用户uid。
RezervasyonListesi的

class RezervasyonListesi {
  final String name;
  final String address;
  final String image;
  final String rating;
  final String description;
  RezervasyonListesi(
      {this.address, this.description, this.image, this.name, this.rating});
}

最佳答案

试试这个。

Stream<List<RezervasyonListesi>> get rezervasonlarlistesi async*{
 String currentUser = await getCurrentUser();
 yield* rezervasyonCollectionRef.document(currentUser.uid).snapshots().map((snapshot){
    return snapshot.data;
 });
}

09-12 11:36