JavaScript Asynchronous Architectures: Events vs. Promises | Hacker News Reader