Модуль запроса 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);
  }
}
Другие вопросы по тегам