A simple tool to write program synchronously but run it asynchronously using yield.
Installation
$ npm install yield-async
To use yield-async you must be running node 0.11.13
or higher for generator, and must run node(1) with the --harmony
flag. If you don't install node 0.11.13
, you can install it using package n
to run your app.js
:
$ npm install -g n$ n 0.11.13$ node --harmony app.js
If you don't like typing --harmony
, add an alias to your shell profile:
$ alias node='node --harmony'
Example
var async = ;var fs = ; // read one filevar { var data = fs; return data;} // read all files in one dirvar { var dir = fs; if dirlength === 0 throw 'no file'; var files = {}; for var i = 0; i < dirlength; i++ filesdiri = asyncread path + '/' + diri resume; return files;} asyncreadAll __dirname { console; console;};
Usage
async function
async function accepts 3 parameters:
generator
the generator function you want to run
parameters
the parameters passing to the generator function
callback
callback function
resume
every generator function must have the resume
paramater, it will be used to 'replace' the callback function and resume the generator.
catch/throw
you can use throw
to throw an error, and you can use catch
to catch an error.
return
you can use return
to return the result.