Использование ES6 генераторов и Yield для реализации асинхронных процессов в JavaScript http://www.bennadel.com/blog/3123-using-es6-generators-and-yield-to-implement-asynchronous-workflows-in-javascript.htm