Five Patterns to Help You Tame Asynchronous JavaScript | Dark Hacker News