Spend a lot of time trying to solve similar issue (terminate nod needed
anymore reading stream in case of app error), seems like there's no
`destroy` method in Stream's Documentation, would be nice to have it there.
Or is it deprecated?
On Friday, June 28, 2013 11:01:46 AM UTC+4, Michael Hart wrote:
>
> Hi all,
>
> I'm struggling with a fairly basic problem to do with limiting (ie,
> truncating) streams and signalling to the source readable to stop reading
> and close.
>
> Here's a simple example that hopefully illustrates what I mean:
>
> fs.createReadStream('myHugeFile')
> .pipe(someTransform)
> .pipe(someTruncatingStream)
> .pipe(process.stdout)
>
> Where someTruncatingStream wants to only take the first n bytes of the
> transformed stream, and then signal "hey, I'm done (ie, no need to keep
> reading the massive file)".
>
> Is there a way to do this from someTruncatingStream without it having
> direct access to the source read stream? ie, some way to signal up the pipe
> to stop reading and close everything down (ie, not just pause)?
>
> In my case it's actually not a file stream that I want to do this for - I
> just figured that was the easiest illustration. Mine is an object stream I
> want to create in front of a DB which is being queried a page at a time - I
> want to expose a stream for this that can continue paging behind the scenes
> and spitting out data, but that knows to stop paging when the consumers
> have consumed all the data they want. ie:
>
> db.createReadStream({some:
> query}).pipe(someOtherFilter).pipe(stringify).pipe(take100).pipe(process.stdout)
>
> I could use another paradigm for this, a lazy collection for example - but
> it seems to me that streams should support this and are more of a lingua
> franca to expose from a module API (and indeed can be transformed into lazy
> collections themselves, a la lazy.js/node-lazy)
>
> Cheers,
>
> Michael
>
--
--
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.