EcmaScript Proposal - Promised functions
Mike Samuel
mikesamuel at gmail.com
Thu Apr 12 19:48:36 UTC 2018
This seems like it could be done with decorators per
https://github.com/tc39/proposal-decorators without introducing a new
keyword.
@promises function sleep(...) {
...
}
On Thu, Apr 12, 2018 at 12:07 PM, Luiz Felipe Frazão Gonçalves <
luizfelipefrazaogoncalves at gmail.com> wrote:
> *One new proposal for EcmaScript.*
> Promised Functions
>
> Like async/await, the promised functions would be preceded by a keyword.
> In the case, promised, it would change the default behavior of the
> function, making it behave as a promise.
>
> I will use as an example a classic sleep function:
>
> function sleep(forHowLong) {
> return new Promise((resolve, reject) => {
> setTimeout(function() {
> resolve();
>
> /** * For reject: * * reject(Error('Some error')); */
> }, forHowLong);
> });
> }
>
> I think to avoid the huge amount of callbacks, there should be a syntax
> similar to this:
>
> promised function sleep(forHowLong) {
> setTimeout(function() {
> this.resolve(); // could even create a keyword like "resolve"
>
> /** * For reject: * * this.reject(Error('Some error')); */
> }, forHowLong);
> }
>
> Note that the hypothetical keyword "promised" before the function
> statement makes it act as a promise.
>
> Just a crazy idea I had. :)
>
> _______________________________________________
> 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/20180412/b9489ecb/attachment-0001.html>
More information about the es-discuss
mailing list