Callbacks and Messaging
Few things we’ve done up to this point have not been done within a callback. Granted, these are extremely simple examples meant to demonstrate atomic concepts, not complete applications, but that doesn’t mean things would necessarily be different in a full application. On the client-side, it’s possible to get fairly long JavaScript functions doing initializations or handling a complex piece of front-end processing. That same thing is possible on the server, but it’s something to watch out for. Node excels at responding to events, but tasks requiring large amounts of back-end processing are places where it’s unlikely to shine.
Of course, the client-side is all about events or, more specifically, their handlers. Shocking numbers of people got their start with JavaScript writing (or copying and pasting) an image rollover. In DOM scripting, we tend to respond to events but not generate them—but if you’ve built large single-page applications you’ve probably done plenty of both. You could say that events are the way Node thinks. Rather than write long blocks of monolithic code or nest callbacks several levels deep, we can create nicer code by emulating the client-side and treating everything we possibly can as an event handler.
Implementations of messaging range from trivial to complex, both on their own and as part of larger frameworks. However, they all do essentially the same thing, assigning subscribers to event names and then, once an event is triggered, invoking ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access