我有两条小溪,Stream<A>Stream<B>.我有一个C类型的构造函数,它接受AB.如何将两个Stream合并为Stream<C>

推荐答案

您可以使用package:async中的StreamZip将两个流合并为一个成对的流,然后从中创建C个对象.

import "package:async" show StreamZip;
...
Stream<C> createCs(Stream<A> as, Stream<B> bs) =>
  new StreamZip([as, bs]).map((ab) => new C(ab[0], ab[1]));

Dart相关问答推荐

基本数学函数的DART源代码

观察对象的状态

Dart 列表中的 addAll() 和 followBy() 有什么区别?

Dart 扩展: don't access members with "this" unless avoiding shadowing

当 ng-repeat 嵌套在 AngularDart 中时访问外部 $index

在启用 null 安全性的情况下,如何在 Iterable.firstWhere 中从 orElse 返回 null?

需要一个SkDeletable类型的值,但得到一个Null类型的值

如何在 Dart 中等待单元测试中的异步设置?

SliverList / SliverChildBuilderDelegate 提供初始索引或允许负索引

如何在没有 Scaffold.drawer 的情况下使用 Drawer?

如何等待forEach完成异步回调?

如何签署 Flutter 的应用程序

如何从Flatter应用程序中导航到网页?(OAuth)

如何判断 Dart NNBD 中的泛型类型是否可以为空?

Dart 有 int.INFINITY 吗?

如何从 Dart 中的 forEach 循环返回?

如何在 Dart SDK 0.4+ 中使用 setInterval/setTimeout

如何在 Dart 中扁平化map列表?

Dart 如何获取枚举的value

Dart 中的const和final关键字有什么区别?