Getting response with NodeJS request module

I have implemented you suggestions and it seems to have worked a bit. I ended up putting the json.parse into a try/catch block, and moved the if/else statements inside the getJSON method. However, now I don’t get any output.

This is how I am invoking the getJSON method:

function handleGameResponse(intent,session,callback){
    //gets the game
    var game = intent.slots.game.value;
    if (!games.includes(game)){
        var speechOutput = "You asked for: " + intent.slots.game.value;
        //var speechOutput = "You asked for: " + games[game] + " That game is currently not an option. These are your current options: " + arrayToString(games)
        var repromptText = "Please ask one from the current options.";
        var header = "Invalid Game";

    }else {
        getJSON(function(data){
            if(data !== "ERROR"){
                var speechOutput = data; //capitalizeFirst(game) + " top three streamers are: " + arrayToString(streamers) + '.';
                var repromptText = "Do you want to hear more about games?";
                var header = capitalizeFirst(game);
            }else{
                var speechOutput = "I'm sorry, something went wrong and I could not get the streamers.";
            }
            //speechOutput = data;
        });
        //speechOutput = games[0] + " games[0], game= " + game; //this executes so the getJSON isn't executing
    }
    var shouldEndSession = false;
    callback(session.attributes,buildSpeechletResponse(header,speechOutput,repromptText,shouldEndSession));
}

Does the above execute the same way,? As in the shouldEndSession and callback execute before the getJSON has time to give a response? I’ve read things about using a .then would that be applicable here

For ref, this is the getJSON method now:

function getJSON(callback){
    var result = "ERROR";
    request.get(url(games[0]),function(error,response,body){
        try{
            var d = JSON.parse(body);
        } catch (err){
            callback("Sorry, something seems to have malfunctioned while getting the streamers");
        }
        result = d.streams[0].channel.display_name;
        // for(var i = 0; i < limit; i++){
        //     streamers.push(d.streams[i].channel.display_name)
        // }
        streamers.push(result);
        if (streamers.length <= 0){
            callback("ERROR");
        }else{
            callback("SUCCESS got streamers " + result);
        }
    });
}