如何在Dart中混合流?

时间:2019-01-13 14:47:16

标签: dart flutter dart-async

Let Two Stream提供两种不同类型的数据。 我希望这两个流中的一个流将数据组合起来并包装在数据类中并提供它。

示例:

Stream<String> stream1;
Stream<String> stream2;

class Data{
    String s1;
    String s2;
    Data(this.s1,this.s2);
}

2 个答案:

答案 0 :(得分:0)

没有为此提供“现成的”解决方案。通常,您必须为此创建自定义逻辑(称为StreamTransformer)。

另一方面,您可以使用第三方库。例如rxdart,其中包含多个流融合运算符:

Stream<String> stream1;
Stream<String> stream2;
Stream<String> concat = Observable.combineLatest2(stream1, stream2, (a, b) => a + b);

答案 1 :(得分:0)

将流转换与功能CombineLatest结合使用: 从这里查看第三个答案: How can I merge multiple Streams into a higher level Stream?