naveen.chwl at gmail.com (2017-08-02T06:13:29.624Z)
No, you can easily terminate a promise by having saved a reference to its reject/resolve callback and calling it.
naveen.chwl at gmail.com (2017-08-02T06:10:41.531Z)
No, you can easily terminate a promise by saving a reference to its reject/resolve callback and calling it.
No, you can easily terminate a promise by saving a reference to its reject/resolve callbacks, and calling either of them. On Wed, 2 Aug 2017 at 01:59 Domenic Denicola <d at domenic.me> wrote: > That is not why. > > > ------------------------------ > *From:* Jan-Ivar Bruaroey <jib at mozilla.com> > *Sent:* Aug 1, 2017 3:47 PM > *To:* es-discuss at mozilla.org > > *Subject:* Re: Stream + async await > > 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> 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> >> 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 >> > https://mail.mozilla.org/listinfo/es-discuss >> >> _______________________________________________ >> es-discuss mailing list >> es-discuss at mozilla.org >> https://mail.mozilla.org/listinfo/es-discuss >> > > > > _______________________________________________ > es-discuss mailing listes-discuss at mozilla.orghttps://mail.mozilla.org/listinfo/es-discuss > > > -- > .: Jan-Ivar :. > _______________________________________________ > es-discuss mailing list > es-discuss at mozilla.org > https://mail.mozilla.org/listinfo/es-discuss > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20170802/b676b1d2/attachment.html>