Es6 promises and async/await explained | Dark Hacker News