Модуль запроса npm - возвращает значение
В одном из примеров в документах запроса показан этот пример:
https://www.npmjs.com/package/request
var request = require('request');
var options = {
url: 'https://api.github.com/repos/request/request',
headers: {
'User-Agent': 'request'
}
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
var info = JSON.parse(body);
console.log(info.stargazers_count + " Stars");
console.log(info.forks_count + " Forks");
}
}
request(options, callback)
Скажем, я хочу, чтобы значение переменной info вернулось ко мне.
Как мне это сделать?
1 ответ
Решение
Вы не можете передать значение из асинхронной команды. Наиболее распространенная стратегия, используемая в Node.js, заключается в том, чтобы обернуть код, который требует info
переменная в функции и вызвать его из обратного вызова.
например:
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
functionThatUsesInfo(info);
}
}