Флаттер Потоки Строитель - PullRequest
0 голосов
/ 01 марта 2020

У меня есть 2 потока, я хочу прослушать оба потока, а затем создать виджет всякий раз, когда у меня появляются новые данные в streamArticle или streamSearchArticle. Интересно, есть ли какой-нибудь метод или класс, похожий на построитель потока, чтобы помочь мне решить эту проблему. Ниже мой текущий код.

Builder(
            builder: (BuildContext context) {
              Stream<UnmodifiableListView<Article>> strArticles = widget.hnBlock.articles;
              Stream<Article> searchArticle = widget.hnBlock.searchResult;

              StreamZip bothStreams = StreamZip([strArticles, searchArticle]);
              return Container(
                child: StreamBuilder<UnmodifiableListView<Article>>(
                    stream: widget.hnBlock.articles,
                    initialData: UnmodifiableListView<Article>([]),
                    builder: (context, snapshot) {
                      print(
                          "${snapshot.connectionState} length ${snapshot.data.length}");
                      return ListView(
                        physics: BouncingScrollPhysics(),
                        children: snapshot.data.map(_buildItem).toList(),
                      );
                    }),
              );
            },
          ),
...