'Combine two stream-queries in flutter

I want to create a streambuilder to download multiple user-profiles from firebase. But to know which users are needed I have to get the user-ids at first, these are stored in an array. So I created a method to download the array and after this is done the streambuilder loads the user-data for each user-id from the array. Here's the code:

Method to get the array (executed in initState()):

Stream<QuerySnapshot> stream() async* {
job = Job.fromJson(await FirebaseFirestore.instance
    .collection("jobs")
    .doc(widget.jobId)
    .get());
applicants = job.applicants;
await FirebaseFirestore.instance
    .collection('users')
    .where('uid', whereIn: applicants)
    .snapshots();
}

And the streambuilder in the scaffolds' body:

body: isLoading
      ? Center(child: Container(child: CircularProgressIndicator()))
      : applicants.isEmpty
          ? Center(
              child: Text("no values"),
            )
          : StreamBuilder<QuerySnapshot>(
              stream: stream(),
              builder: (context, snapshot) {
                if (!snapshot.hasData) {
                  return Center(child: CircularProgressIndicator());
                } else { xy }

So my question is if there's a possibility to combine the first method and the stream. Because at the moment the user can't get any update if an application is withdrawn while using the screen.



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source