Firebase 颤振:根据firestore中的值列表检索数据

Firebase 颤振:根据firestore中的值列表检索数据,firebase,flutter,google-cloud-firestore,stream,yield,Firebase,Flutter,Google Cloud Firestore,Stream,Yield,谁能告诉我代码有什么问题吗。列表包含两项,但函数仅返回第一项,第二项后第一项消失: Stream<List<Forum>> getListOfOwnerCourses() async* { FirebaseUser firebaseUser = await FirebaseAuth.instance.currentUser(); final snap = await Firestore.instance.collection('users').docume

谁能告诉我代码有什么问题吗。列表包含两项,但函数仅返回第一项,第二项后第一项消失:

Stream<List<Forum>> getListOfOwnerCourses() async* {
    FirebaseUser firebaseUser = await FirebaseAuth.instance.currentUser();
    final snap = await Firestore.instance.collection('users').document(firebaseUser.uid).get();
    List<Forum> _courseList = [];
    List myOwnCourses = [];
    if (snap.exists && snap.data['myOwnCourses'] != null) {
      myOwnCourses = snap.data['myOwnCourses'];
      for (String co in myOwnCourses) {
        print("$co Dler");
        var courses = await Firestore.instance.collection('courses').document(co).get();
        Forum forum = Forum.fromSnapshot(courses);
        _courseList.add(forum);
        yield _courseList;
      }
    }
    print("${_courseList[1].title}");
  }
Stream getListOfOwnerCourses()异步*{
FirebaseUser FirebaseUser=等待FirebaseAuth.instance.currentUser();
final snap=wait Firestore.instance.collection('users').document(firebaseUser.uid.get();
列表_courseList=[];
列出课程=[];
if(snap.exists&&snap.data['myowncurses']!=null){
myowncurses=snap.data['myowncurses'];
for(课程中的字符串co){
打印($co-Dler);
var courses=await Firestore.instance.collection('courses').document(co.get();
Forum Forum=Forum.fromSnapshot(课程);
_课程列表添加(论坛);
收益率(courseList);;
}
}
打印(${u courseList[1].title});
}