Working as designed.

The 'end' event doesn't happen until you read PAST the last chunk.  If
there's no data in the buffer, then that read() returns null, and then
'end' is emitted.

The reason for this is to prevent 'end' being emitted before you have
a chance to attach a listener, on zero-length readable streams (ie,
streams that end without *ever* having any data).


On Mon, Sep 9, 2013 at 12:38 AM, greelgorke <[email protected]> wrote:
> may be you should place an issue on github?
>
> Am Sonntag, 8. September 2013 20:35:30 UTC+2 schrieb Oscar Torrente Artero:
>>
>> Well, I insist.
>> If you try this code:
>>
>>     var fs = require("fs")
>>     var readable = fs.createReadStream("file.txt")
>>     readable.on("end", function ()            { console.log("End") })
>>     readable.on("readable", function ()     { var chunk =
>> readable.read(1); console.log(chunk.toString()) })
>>
>> you will see "readable" event is emitted twice (!!??) when I think  it
>> should be emitted many times as until buffer is drained (namely, many times
>> as bytes are inside "file.txt"),  shouldn't??!!
>>
> --
> --
> 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 [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> 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 [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.

-- 
-- 
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 [email protected]
To unsubscribe from this group, send email to
[email protected]
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 [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to