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 trialnathan kolody
12,134 PointsThere was an error getting the profile chalks (ok)... node question
I keep getting an error trying to access the api for user chalkers. From the if the statement the error say its ok, but I can't figure out to fix it, here's the code:
app.js: const profile = require('./profile.js');
const users = process.argv.slice(2); users.forEach(profile.get);
profile.js
// Problem: We need a simple way to look at a user's badge count and JavaScript points // Solution: Use Node.js to connect to Treehouse's API to get profile information to print out
//Require https module const https = require('https'); //Require http module. const http = require('http'); //Print error message function printError(error){ console.error(error.message); }
//Function to print message to console
function printMessage(username, badgeCount, points) {
const message = ${username} has ${badgeCount} total badge(s) and ${points} points in JavaScript
;
console.log(message);
}
function get(username) {
try {
// Connect to the API URL (https://teamtreehouse.com/username.json)
const request = https.get(https://teamtreehouse.com/${username}.json
, response => {
if(response.status === 200){
let body = "";
// Read the data
response.on('data', data => {
body += data.toString();
});
response.on('end', () => {
try{
// Parse the data
const profile = JSON.parse(body);
// Print the data
printMessage(username, profile.badges.length, profile.points.JavaScript);
} catch(error) {
printError(error);
}
});
} else {
const message = There was an error getting the profile ${username} (${http.STATUS_CODES[response.statusCode]})
;
const statusCodeError = new Error(message);
printError(statusCodeError);
}
});
request.on('error', printError);
} catch (error) {
printError(error);
}
}
module.exports.get = get;
Any help would be greatly appreciated since I'm sort of grasping the concept but not really at the same time.
1 Answer
nathan kolody
12,134 PointsHey Kris, thanks for the reply. I found the error which was in the if statement. I put response.status and not response.statusCode. I apologize for the code format, I’m not sure what I did there. Have a good week!
KRIS NIKOLAISEN
54,971 PointsKRIS NIKOLAISEN
54,971 PointsYou'll probably have to do a better job at markdown formatting to get a response. A link to the video/challenge would help as well.