Stream + async await

Jan-Ivar Bruaroey jib at mozilla.com
Tue Aug 1 19:47:17 UTC 2017


Because a promise is not a control surface of the asynchronous action 
fulfilling it; confuses owner with consumer. 
https://stackoverflow.com/a/41417429/918910

.: Jan-Ivar :.

On 7/31/17 7:35 AM, T.J. Crowder wrote:
> Related: https://esdiscuss.org/topic/how-about-awaiting-arrays 
> (particularly the discussion of `await.race`), since effectively 
> you're doing a race between a timeout and each chunk. Also relevant is 
> the former work on cancelling promises, now withdrawn. (Can anyone 
> point me at *why* it was withdrawn?)
>
> -- T.J. Crowder
>
> On Mon, Jul 31, 2017 at 6:10 AM, kai zhu <kaizhu256 at gmail.com 
> <mailto:kaizhu256 at gmail.com>> wrote:
>
>     the timeout handler will not work as advertised, e.g. what if io /
>     db issues causes a network stream to intermittently respond in
>     intervals far greater than 30000ms or not at all?
>
>     > On Jul 31, 2017, at 7:26 AM, James Browning
>     <thejamesernator at gmail.com <mailto:thejamesernator at gmail.com>> wrote:
>     >
>     > It'll look something like this:
>     >
>     > ```javascript
>     >
>     > async function consumeReadableStream(stream) {
>     >     const start = Date.now()
>     >     for await (const chunk of stream) {
>     >
>     >        /* Do whatever you want with the chunk here e,g, await other
>     > async tasks with chunks
>     >            send them off to wherever, etc
>     >        */
>     >
>     >         if (Date.now() - start > 30000) {
>     >             throw new Error('30000 ms timeout')
>     >        }
>     >    }
>     >    /* Instead of callbackOnce the returned promise from this
>     function
>     > itself can be used */
>     > }
>     >
>     > ```
>     > _______________________________________________
>     > es-discuss mailing list
>     > es-discuss at mozilla.org <mailto:es-discuss at mozilla.org>
>     > https://mail.mozilla.org/listinfo/es-discuss
>     <https://mail.mozilla.org/listinfo/es-discuss>
>
>     _______________________________________________
>     es-discuss mailing list
>     es-discuss at mozilla.org <mailto:es-discuss at mozilla.org>
>     https://mail.mozilla.org/listinfo/es-discuss
>     <https://mail.mozilla.org/listinfo/es-discuss>
>
>
>
>
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss


-- 
.: Jan-Ivar :.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20170801/5bb6225e/attachment.html>


More information about the es-discuss mailing list