JavaScript: Writing your own non-blocking asynchronous functions | Hacker News Reader