5

有人知道飞镖的任何流组合器库吗?诸如将多个 Stream 合并为一个 Stream、拆分、组合 (Stream, Stream) -> Stream<(A, B)> 等。

4

2 回答 2

3

我不知道流组合器库,但您可以尝试使用StreamController来加入流。

Stream join(Stream a, Stream b) {
  var sc = new StreamController();
  int countDone = 0;
  done() {
    countDone++;
    if (countDone == 2) {
      sc.close();
    }
  }
  a.listen((e) => sc.add(e), onDone: done);
  b.listen((e) => sc.add(e), onDone: done);

  return sc.stream;
}

警告:未经测试的代码。

于 2013-06-10T11:47:34.823 回答
1

看看我的图书馆Frappe。它受到 Bacon.js 的粗略启发,并且有很多组合流的方法。

于 2014-07-14T18:14:32.583 回答