2016-05-15 2 views
0

После изучения и экспериментирования с этим кодом мне не удалось выяснить, что происходит, и как я могу использовать возвращаемую информацию.Функциональное выражение, возвращающее функцию обратного вызова

Где находится «обратный обратный вызов (err, res, body)», возвращающийся?

Редактировать: Я хочу вернуть данные, хранящиеся в 'body', но его область видимости только в той функции, которая находится в вызове 'request'. Как я могу получить «тело» данных, чтобы вернуть весь выход, когда я вызываю «makerequest», поэтому могу использовать данные «тела». Я надеюсь, что я осмысление

var makerequest = function(set_parameters, callback) { 

     .... 

request(URL, function(err, res, body){ 
    return callback(err, res, body); 
}); 
}; 
+0

Мы действительно не знаем, что 'request' делает с результатом, но обычно' return'ing в асинхронном обратном вызове бесполезно и не должно быть сделано. – Bergi

+0

Вы просто должны сделать запрос (URL, обратный вызов), ' – Bergi

+0

" * Как получить тело данных, чтобы вернуть весь путь туда, где я называю «makerequest» *, - это невозможно. Он асинхронный. – Bergi

ответ

0

Доступ к JSON в функции обратного вызова:

makerequest(set_parameters, function(err, res, body){ 
     //do stuff with the body here 
}) 
+0

Как это сделать, чтобы я мог получить «тело», чтобы вернуться из этой внутренней функции, то есть: var temp = makerequest (..), и это возвращает мне «тело» и сохраняет его как temp. – SmokeyOneKenobi

+0

Это невозможно с асинхронностью javascript –

Смежные вопросы