А зачем?
Запрос выполняется асинхронно, доступ к body есть только после получения ответа.
function handleBody(body){
console.log(body);
...
}
request(options, function (error, response, body) {
if (!error && response.statusCode == 200) {
handleBody(body);
}
});
Я не знаю задачи, возможно стоит подумать в сторону промисов.
function myRequest(options){
return new Promise(function(resolve,reject){
request(options, function (error, response, body) {
if (!error && response.statusCode == 200) {
return resolve(body)
}
//@todo handle errors
reject()
});
});
}
myRequest(options).then(function(body){
//тут теперь продолжается работа с body
}).catch(function(err){
//code
})