Turn async functions into ES2015 generators
In
async function foo() {
await bar();
}
Out
var _asyncToGenerator = function (fn) {
...
};
var foo = _asyncToGenerator(function* () {
yield bar();
});
npm install --save-dev babel-plugin-transform-async-to-generator
.babelrc
(Recommended).babelrc
{
"plugins": ["transform-async-to-generator"]
}
babel --plugins transform-async-to-generator script.js
require("babel-core").transform("code", {
plugins: ["transform-async-to-generator"]
});
# babel-plugin-transform-async-to-generator > Turn async functions into ES2015 generators ## Example **In** ```javascript async function foo() { await bar(); } ``` **Out** ```javascript var _asyncToGenerator = function (fn) { ... }; var foo = _asyncToGenerator(function* () { yield bar(); }); ``` ## Installation ```sh npm install --save-dev babel-plugin-transform-async-to-generator ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```json { "plugins": ["transform-async-to-generator"] } ``` ### Via CLI ```sh babel --plugins transform-async-to-generator script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["transform-async-to-generator"] }); ``` ## References * [Proposal: Async Functions for ECMAScript](https://github.com/tc39/ecmascript-asyncawait)