2013-06-09 11 views
5

誰でもダーツ用のストリームコンビネータライブラリを知っていますか?複数ストリームを1つのストリームに結合する、スプリットする、結合する(ストリーム、ストリーム) - >ストリーム<(A、B)>などダーツ用のストリームコンビネータライブラリはありますか?

+0

http://stackoverflow.com/questions/36571924/how-can-i-merge-multiple-streams-into-a-higher-level-stream –

答えて

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; 
} 

警告:テストされていないコード。

+0

はい、それは基本的に私が書いたものですが、私がここで指摘した問題。 http://stackoverflow.com/questions/17018427/dart-how-do-i-implement-stream-join-that-preserves-the-order-of-incoming-items/17019119?noredirect=1#comment24596762_17019119 – jz87

1

ライブラリFrappeをチェックしてください。これはBacon.jsに大いにインスパイアされており、ストリームを結合するための方法がたくさんあります。

関連する問題