For some reason, in node.js, the code is not running in order. It is running the console.log(data2) before even retrieving the data from function2. I am assuming it is because node.js runs asynchronously. However, I am not too sure how to fix it. Thanks for all the help in advance
function function1(app){
    app.post('/test', (req, res, next) => {
        const url = `url1`;
        request(url, function(error, response, body) {
            if(!error && response.statusCode == 200) {
                var data = JSON.parse(body);
                var data2 = function2(data.id);
                console.log(data2); //undefined  
                res.send(profileData);
            }
        });
    })
}
function function2(id){
    const url = `url2/${id}`;
    request(url, function(error, response, body) {
        if(!error && response.statusCode == 200) {
            var data = JSON.parse(body);
            console.log(data); //output correct data
            return data;
        }
    });
}
 
     
     
    