es-discuss Digest, Vol 140, Issue 26

Dan Aprahamian dan.aprahamian at gmail.com
Thu Nov 8 15:17:52 UTC 2018


Is there a good way to get involved in the development of this proposal?

On Thu, Oct 18, 2018 at 8:01 AM <es-discuss-request at mozilla.org> wrote:

> Send es-discuss mailing list submissions to
>         es-discuss at mozilla.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
>         https://mail.mozilla.org/listinfo/es-discuss
> or, via email, send a message with subject or body 'help' to
>         es-discuss-request at mozilla.org
>
> You can reach the person managing the list at
>         es-discuss-owner at mozilla.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of es-discuss digest..."
> Today's Topics:
>
>    1. Re: Has there ever been discussion around a python-like
>       "with" syntax? (Michael J. Ryan)
>
>
>
> ---------- Forwarded message ----------
> From: "Michael J. Ryan" <tracker1 at gmail.com>
> To: till at tillschneidereit.net
> Cc: dan.aprahamian at gmail.com, es-discuss <es-discuss at mozilla.org>
> Bcc:
> Date: Wed, 17 Oct 2018 13:19:17 -0700
> Subject: Re: Has there ever been discussion around a python-like "with"
> syntax?
> I was going to mention C#'s using statement as well... though I do like
> the use of a symbol over Ron's proposal, I think using might be a better
> approach.
>
> --
> Michael J. Ryan
> 480-270-4509 <(480)%20270-4509>
> https://www.tracker1.info/
> me at tracker1.info
> tracker1 at gmail.com
>
>
> On Mon, Oct 15, 2018 at 11:50 AM Till Schneidereit <
> till at tillschneidereit.net> wrote:
>
>> Ron Buckton has a proposal that's quite similar to what you're talking
>> about: https://github.com/tc39/proposal-using-statement
>>
>> On Mon, Oct 15, 2018 at 11:40 AM Dan Aprahamian <dan.aprahamian at gmail.com>
>> wrote:
>>
>>> Hello all! First time posting here. I was curious if there was ever talk
>>> about adding something similar to python's with syntax to JS. Obviously we
>>> already have a "with" keyword, but I figure we could probably use "use" as
>>> the keyword instead. I was thinking something like
>>>
>>> // Some user defined resource that can be "entered" and "exited"
>>> class MyResource {
>>>   // Function called when entered
>>>   async [Symbol.enter]() {
>>>   }
>>>
>>>   // Function called when exited
>>>   [Symbol.exit]() {
>>>   }
>>> }
>>>
>>> const resource = new MyResource();
>>>
>>> async function useResource() {
>>>   use myResource {
>>>     // Inside here, resource has had "acquire" called on it
>>>
>>>     await doSomethingAsync();
>>>     // Once this block is finished executing (including async)
>>>     // release is called
>>>   }
>>>   // Release has been called now
>>> }
>>>
>>> Use would effectively be the equivalent of:
>>>
>>> async function use(resource, body) {
>>>   await resource[Symbol.enter]();
>>>   try {
>>>     await body();
>>>   } finally {
>>>     await resource[Symbol.exit]();
>>>   }
>>> }
>>>
>>> Has something like this been considered before?
>>>
>>> Thanks,
>>> Dan
>>> _______________________________________________
>>> 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 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/20181108/6996440c/attachment.html>


More information about the es-discuss mailing list