async.js (yes, another one!)
This is a light-weight approximate implementation of ES7's async-await pattern.
Install it
You can npm install it.
npm install marcosc-async --save
Play with it!
You can play with the async API through gh-pages.
API
Once you import it (using either a script tag or require), there will be an "async" function you can use on the global object.
The async function takes generator, and returns a function that you can call as needed. It returns a promise.
const doAsyncThing = async { var result = Promise; return result;}; ; // 1
Examples
You can create simple async functions like so:
const async = ;var doSomethingAsync = async{ return Promise}; ; // "hi"
Simple example for downloading a list of URLs.
const urls = "/a" "/b";const doAsyncThing = async { let responses = ; for let url of listOfURLs responses; return Promiseallresponses;}; ;
It allows for simple creation of async function and "tasks". For example:
const async = ;const myThinger = doAsynThing: async { const response = ; const text = responsetext; return processresult; };
And task-like things can be created as follows:
const async = ;// Run immediatelyconst myTask = async;
this
Binding You can also correctly bind this
like so:
const async = ;const myThinger = someValue: "value" { return async { return this } this; } { async { return thisvalue; } this; };