Asynchronous JavaScript in four chapters – promises, foundations, explained | Dark Hacker News