EcmaScript Proposal - Promised functions

Luiz Felipe Frazão Gonçalves luizfelipefrazaogoncalves at
Thu Apr 12 16:07:02 UTC 2018

*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() {

      /**       * 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. :)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the es-discuss mailing list