title: How Do I convert Stream<QuerySnapshot> to List<myObject>
body: <p>I'm querying Firestore and getting a Stream back as a Stream of QuerySnapshots. I need to map the included Documents in the stream to a List of objects.</p>
  
  <p>The code below doesn't work (obviously)...maybe I'm just looking at this entirely wrong.  </p>
  
  <pre><code>  List&lt;UserTask&gt; getUserTaskList() {
      List&lt;UserTask&gt; list;
  
      Stream&lt;QuerySnapshot&gt; stream = 
        Firestore.instance.collection('userTasks').snapshots();
      stream.listen((snapshot) {
        snapshot.documents.forEach((doc) {
          UserTask userTask = UserTask(
              doc.data['id'],
              doc.data['Description'],
              etc...);
  
          list.add(userTask);
        });
      });
  
      return list;
    }
  </code></pre>
  
  <p>With the code above, since it doesn't wait for the entire stream (or any of it actually), list is always returned as null. In short, how do I convert my stream to a List?</p>
  
  <p>Note: I'm pretty new to the world of Dart, so go easy on me :)</p>
  
  <p>Thanks!</p>