O'Reilly logo

Node for Front-End Developers by Garann Means

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required