Advertisement
Guest User

Untitled

a guest
Feb 8th, 2016
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.46 KB | None | 0 0
  1. 'use strict'
  2.  
  3. const async = makeGenerator => function () {
  4. const generator = makeGenerator.apply(this, arguments);
  5.  
  6. const handle = result =>
  7. result.done
  8. ? Promise.resolve(result.value)
  9. : Promise.resolve(result.value)
  10. .then(res => handle(generator.next(res)))
  11. .catch(err => handle(generator.throw(err)))
  12.  
  13. try {
  14. return handle(generator.next());
  15. } catch (err) {
  16. return Promise.reject(err);
  17. }
  18. }
  19.  
  20. module.exports = async
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement