npm请求模块 - 返回一个值

Ale*_*dro 2 request asynccallback node.js

在请求文档中的一个示例中显示了此示例:

https://www.npmjs.com/package/request#custom-http-headers

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)
Run Code Online (Sandbox Code Playgroud)

让我们说我希望变量信息的值返回给我.

我该怎么做?

tha*_*era 6

您无法从异步命令传递值.Node.js中最常用的策略是info在函数中包含需要变量的代码,并从回调中调用该代码.

例如:

function callback(error, response, body) {
  if (!error && response.statusCode == 200) {
    functionThatUsesInfo(info);
  }
}
Run Code Online (Sandbox Code Playgroud)