Actually, this proposal would be a revolution and I can think of too many edge cases to make it viable.
Consider: async function foo() { async function bar() { [1,2,3].forEach(async function() { async return 3; }); } return (await bar()) + 39; } What does happen here? For me it's absolutely counterintuitive. What about functions coming from other scopes, like? async function foo() { function bar() { [1,2,3].forEach(async function() { async return 3; }); } return (await bar()) + 39; } Or multiple returns? async function foo() { setTimeout(()=>{ async return 42; }, 0); return null; } Promisification should be done by userland libraries, not by introducing new syntax. On 27/02/17 22:17, Isiah Meadows wrote: > I was speaking objectively about the proposal itself, and the scope of > it. I'm personally strongly against it for reasons I stated earlier in > the thread (the status quo is better IMHO). I was just trying to > direct people back to the actual scope of the proposal instead of > basically reinventing async functions using async functions, and also > simultaneously attempting to assist the OP in better understanding > what he's really trying to propose (which he didn't appear to grasp > well). > > On Mon, Feb 27, 2017, 14:01 Tab Atkins Jr. <jackalm...@gmail.com > <mailto:jackalm...@gmail.com>> wrote: > > On Mon, Feb 27, 2017 at 12:41 AM, Isiah Meadows > <isiahmead...@gmail.com <mailto:isiahmead...@gmail.com>> wrote: > > May I add one more thing: the main topic this was about is adapting > > non-standard async APIs (like Node's error-first callback idiom) > to the land > > of promises. Async functions and iterators are incredibly useful > when you're > > dealing with just promises, especially consuming them, but this > is about > > creating promise adapters, not consuming promises. > > You don't need to change the behavior of core syntax to make > Node-style error-first callbacks work. That's easily done by > libraries, which have existed in Node-land for quite a while, and can > automatically convert functions that take Node-style callbacks into > functions that return promises. > > ~TJ > > > > _______________________________________________ > es-discuss mailing list > es-discuss@mozilla.org > https://mail.mozilla.org/listinfo/es-discuss
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss