скорее всего ваша функция getLocationInfo в момент своего выполнения делает какие-то нужные вам вычисления , которые потом вызываются через вызов колбека, единственное, что мне не ясно, зачем передавать req res они и так будут находиться в замыкании.
пример, допустим ваша функция должна провести работу с локейшен инфо, которое лежит в res.body.locateionData и когда данные будут получены, выполнить функцию коллбек. в которой вы сможете эти данные обработать. Я буду писать пример точно так же с передачей req res , чтобы вы могли понять суть того, что происходит.
function getLocationInfo(req, res, cb) {
var responseData = "";
if(res.body.locateionData) responseData = res.body.locateionData;
cb(req,res,responseData);
}
Когда вы вызываете функцию
getLocationInfo(req,res,function(req,res,responseData){
renderReviewForm(req,res,responseData);
});
Вы по сути выполняете объявление функции cb
var cb = function(req,res,responseData){
renderReviewForm(req,res,responseData);
};
Теперь ваша функция имеет все аргументы, и готова к выполнению.
Этот пример конечно абстрактный, нужно понимать, что коллбек вызывается чаще в асинхронных ситуациях, где встроен запрос или подписка на событие и требуется сделать ожидание выполнения. Но суть он объясняет. удачи.