Skip to content

rictic/ecmascript-asyncawait

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Async Functions for ECMAScript

The introduction of Promises and Generators in ECMAScript presents an opportunity to dramatically improve the language-level model for writing asynchronous code in ECMAScript. The spec text can be found here.

This proposal is implemented in a regenerator which can compile ES5 code containing async and await down to vanilla ES5 to run in existing browsers and runtimes.

This repo contains a complete example using a large number of the features of the proposal. To run this example:

npm install
regenerator -r server.asyncawait.js | node

Debatable Syntax & Semantics

Awaiting Non-Promise

When the value passed to await is a Promise, the completion of the async function is scheduled on completion of the Promise. For non-promises, behaviour aligns with Promise conversion rules according to the proposed semantic polyfill.

Surface syntax

Instead of async function/await, the following are options:

  • function^/await
  • function!/yield
  • function!/await
  • function^/yield

Releases

No releases published

Packages

No packages published

Languages

  • HTML 95.2%
  • JavaScript 4.8%