1

我正在尝试MyComplexObject在流中隔离。 MyComplexObject在它的类中有更多的对象。

MyComplexObject例子:

class MyComplexObject {
 String documentID;
 Object1 object1;
 Object2 object2;
 Object3 object3;
 Object4 object4;
 Object5 object5;
 Object6 object6;
 Object7 object7;

 MyComplexObject({
 this.documentID;
 this.object1,
 this.object2,
 this.object3,
 this.object4,
 this.object5,
 this.object6,
 this.object7,
 });

 factory MyComplexObject.fromFirestore(DocumentSnapshot documentSnapshot) {
  return MyComplexObject(
        documentID: documentSnapshot.documentID,
        object1: documentSnapshot.data['map1'],
        object2: documentSnapshot.data['map2'],
        object3: documentSnapshot.data['map3'],
        object4: documentSnapshot.data['map4'],
        object5: documentSnapshot.data['map5'],
        object6: documentSnapshot.data['map6'],
        object7: documentSnapshot.data['map7'],
  );
 }
}

我的流功能

Stream<MyComplexObject> streamMyComplexObject(String documentID) {
    DocumentReference documentReference =
        _db.collection(deviceStatesCollection).document(documentID);

    return documentReference
        .snapshots()
        .map((DocumentSnapshot documentSnapshot) {

      return MyComplexObject.fromFirestore(documentSnapshot);
    });
  }

streamMyComplexObject与 a 一起使用StreamBuilder,是否可以隔离 的解析/转换MyComplexObject

4

0 回答 0