haxetink / tink_streams

Streams from the future. With lasers, of course ... whoaaaaa!!!!
The Unlicense
12 stars 9 forks source link

Only consider end when buffer is empty #7

Closed kevinresol closed 7 years ago

kevinresol commented 7 years ago

Consider this code:

var buffer = new tink.streams.Accumulator();
buffer.yield(Data(Success(Noise)));
buffer.yield(Data(Success(Noise)));
buffer.yield(Data(Success(Noise)));
buffer.yield(End);

buffer
    .forEach(function(r) {trace('loop $r'); return true;})
    .handle(function(r) trace('done $r'));

Before fix: reach 'done' immediately without looping the items After fix: reach 'done' after looping the items