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! While you're at it, check out some resources Treehouse students have shared here.
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 trialKaleshe Alleyne-Vassel
8,466 PointsPort showing as undefined even though it's defined
When editing the node.js server code to replicate the example in the video, by removing the hostname parameter this is what happens
Code
const http = require('http');
const port = 3000;
const server = http.createServer((request, response) => {
response.statusCode = 200;
response.setHeader('Content-Type', 'text/plain');
response.end('Hello, World!\n');
});
server.listen(port => {
console.log(`Server running at http://${port}/`);
});
Console Result
Server running at http://undefined/
1 Answer
Steven Parker
231,248 PointsThe "listen" method typically takes a port number as an argument (and an optional callback function), but this code is passing it only a callback function. The fact that the callback parameter is named "port" is not important, particularly since the "listen" method doesn't provide any argument to the callback (thus the "undefined" in the message).
As for the actual port number, the documentation says:
If port is omitted or is 0, the operating system will assign an arbitrary unused port, which can be retrieved by using server.address().port after the 'listening' event has been emitted.
Kaleshe Alleyne-Vassel
8,466 PointsKaleshe Alleyne-Vassel
8,466 PointsOhhhh right. After reading this 'The "listen" method typically takes a port number as an argument (and an optional callback function), but this code is passing it only a callback function' I got it right away and it's sorted :)
Thank you!
I find it really hard to understand documentation