It seems like this is largely a matter of personal aesthetics ("feels dirty,"
"hacky," etc.) but nothing is wrong or even hard functionally. Furthermore
given the prevalence of code out there that uses such "hacks" without
compunction, it seems that your aesthetics are not shared by most.
Maybe the easiest path toward resolving this, um, problem?, is simply adjusting
your preferences to recognize this kind of code for the beautiful code it is.
On Jan 24, 2014, at 4:07, "Bradley Meck"
<[email protected]<mailto:[email protected]>> wrote:
Taking note with async polyfills and syntax for a minute. I spent a fair amount
of time actually writing the spec of my intent/goal after getting some thought
and working things through in my head (varies slightly from old 2011 await):
https://gist.github.com/bmeck/674e21f40fe6e9ce6304#file-close-but-no-cigar-sweet-js-L6
I can get really close with sweet.js (see gist), but as such I still have to
use new when invoking the generator function which feels dirty in my mind.
Perhaps if I did some crazy code transforms to test if the generator function
was using await it would work. That would require me to wrap it similar to how
task.js and all the other libraries IRC bombarded me with. I think it very
strange that they all:
1. make a promise that will be returned (finalPromise)
2. call the generator and hook it up to the promise
3. don't appear to have a clean way to make the generator continue without
resolving finalPromise and without forcing the generator to completion
* bluebird's Promise.coroutine comes closeish but still needs to run the
generator to completion
It seems that every approach I am taking gets me slightly closer, but none are
a clean way for a generator to iterate itself without some hacky argument
passing and wrapping.
PS. Sorry about the horrifying sweet.js macro, but it is functional enough in
Chrome with experimental JS from what I tried out.
On Fri, Jan 24, 2014 at 2:18 AM, David Herman
<[email protected]<mailto:[email protected]>> wrote:
On Jan 23, 2014, at 4:49 PM, Brendan Eich
<[email protected]<mailto:[email protected]>> wrote:
> Domenic Denicola wrote:
>> Task.js is still on "JavaScript1.8," and is not ES6-compatible. It won't
>> work with modern browsers, or with Regenerator.
>
> Fork and fix, should be easy. I expect a PR would be accepted in due course.
> SpiderMonkey seems to have ES6 generator support somewhat there (thanks to
> Andy Wingo), should be all there soon enough.
Working on it lately, actually. And using regenerator for the tests (\o/)! Also
drastically simplifying the library since the customizable scheduler stuff,
while kind of neat, is probably less compelling than a minimal library. Down to
under 150 lines, unminified with comments, and still shrinking...
Dave
_______________________________________________
es-discuss mailing list
[email protected]<mailto:[email protected]>
https://mail.mozilla.org/listinfo/es-discuss
_______________________________________________
es-discuss mailing list
[email protected]<mailto:[email protected]>
https://mail.mozilla.org/listinfo/es-discuss
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss