Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community!

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

JavaScript Node.js Basics (2014) Building a Command Line Application Handling Parsing and Status Code Errors

When we are handling a connection error, we dont pass arguments to printError. Why?

The function printError has one argument, so it's printError(error){...}. But when we handle a connection error request.on("error", printError); We don't pass any parametres. How that works? Can anyone explain me please?

1 Answer

Seth Kroger
Seth Kroger
56,409 Points

The thing to keep in mind here is that you're passing two values to the on() function. The first value is the name of the event you want to handle. The second value is the function you want called when the event is triggered and the event will pass any parameters it wants to. So, what's the difference between printError and printError(err)? The first substitutes the value of printError, which is function that accepts one parameter. The second calls printError immediately and substitutes the value printError(err) returns instead.