I'd use some kind of withReadable(stream, fn) helper

var bytes = stream.read(2);
doAsync(bytes, function(err, res) {
  withReadable(stream, function () {
    // stream is readable for sure
  });
});

function withReadable(stream, callback) {
  stream.once(callback);
  stream.read(0);
}


On Monday, 1 July 2013 15:23:44 UTC+2, Gil Pedersen wrote:
>
> Hi, 
>
> I have a case where I want to consume a Readable, by: 
>
> 1. Read n bytes. 
> 2. Process buffer using a function with an async callback. 
> 3. When callback completes, goto 1. 
>
> I fail to see any simple solution to what I feel must be a somewhat common 
> use case. The standard "on('readable', function() { this.read(); ... })" 
> doesn't apply, as I have no way of deferring future 'readable' emits once I 
> have returned from the handler. 
>
> Can it really be that the most sensible solution is to fall back to the 
> old API, using pause() and resume()? or have I missed something? 
>
> Regards, 
> Gil

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to