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 trial

JavaScript

Alexey Serpuhovitov
Alexey Serpuhovitov
6,931 Points

Using functions for both widgets

I'm trying to reuse code for both (rooms and employees) widgets with one universal function. I've managed to pass parameters for each list but the problem I'have faced - I can't get parsed JSON from function with return.

Here is the code without parameters

function getData2() {

    let rhr = new XMLHttpRequest();
    rhr.onreadystatechange = function () {
        if (rhr.readyState === 4) {
            rooms = JSON.parse(rhr.responseText);
        }
    }
    rhr.open('GET', 'data/rooms.json');
    rhr.send();
    return rooms;
}

let x = getData2();
console.log(x); // undefined

What is the correct solution?