Es6 promises and async/await explained
hackernoon.com