首页 > 解决方案 > 将流列表添加到块颤动

问题描述

您好,我正在尝试从 Firestore 获取数据,将其映射到我正在使用 Rxdart 的流中,如何将产品列表的此流添加到流中。当我尝试这样做时,它一直在说。参数类型 Stream> 不能被分配给参数类型列表。我是新来的颤振,请帮忙。

产品服务;

class ProductService {
  Firestore _db = Firestore.instance;
  var random = Random();

  Stream<List<Product>> fetchProducts() {
    return _db.collection('products').snapshots().map(
          (snapshot) => snapshot.documents
              .map((document) => Product.fromFirestore(document.data))
              .toList(),
        );
  }
}

集团

class ProductBloc {
  final _products = BehaviorSubject<List<Product>>();
  final ProductService _db = ProductService();

//getters
  Stream<List<Product>> get products => _products.stream;
  Function(List<Product>) get changeProducts => _products.sink.add;

  loadData() async {
    try {
      var products = _db.fetchProducts();
      _products.sink.add(products);
    } catch (err) {
      print(err);
    }
  }

  dispose() {
    _products.close();
  }
}

标签: flutterbloc

解决方案


推荐阅读