首页 > 解决方案 > 将流添加到 StreamZip 列表

问题描述

我不知道如何在将由 StreamZip 使用并稍后在 StremBuilder 中使用的列表中添加流。

List _streams = [];


for (var i = 0; i < _chunks.length; i++) {
  Stream stream = FirebaseFirestore.instance
      .collection('users')
      .where('uid', whereIn: _chunks[i])
      .snapshots();
  setState(() {
    _streams.add(stream);
  });
}


StreamZip myStreams = StreamZip(_streams);

The argument type 'List<dynamic>' can't be assigned to the parameter type 'Iterable<Stream<dynamic>>'

或者任何其他动态组合流的方式都可以。我不必使用StreamZip.

标签: flutter

解决方案


SteamZip需要Iterable<Stream<dynamic>>,并且您声明_streamsList. 改为这样做:

List<Stream<dynamic>> _streams = [];
...
StreamZip myStreams = StreamZip(_streams);

推荐阅读