Javascript 获取位于回调函数内的变量

Javascript 获取位于回调函数内的变量,javascript,node.js,express,Javascript,Node.js,Express,您好,如何获取info函数中的callback变量。 抱歉,我是js初学者,在我的大脑中找不到答案/peace在更高的范围内声明变量将使其可访问。在调用回调之前,不会更新更高范围中的值 var request = require('request'); var options = { url: 'https://api.github.com/repos/request/request', headers: { 'User-Agent': 'request' } }; fu

您好,如何获取
info
函数中的
callback
变量。
抱歉,我是js初学者,在我的大脑中找不到答案/peace

在更高的范围内声明变量将使其可访问。在调用回调之前,不会更新更高范围中的值

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");
  }
}
exports.parse = function(){
   request(options, callback);
}

在更高的作用域上声明变量将使其可访问。在调用回调之前,不会更新更高范围中的值

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");
  }
}
exports.parse = function(){
   request(options, callback);
}

如果你的目标是简单地分析你的身体,并且解析的JSON很容易得到,你应该考虑使用一个中间件,比如身体分析器。这是一个标准模式。。。考虑这个代码,例如:(来自)


如果你的目标是简单地分析你的身体,并且解析的JSON很容易得到,你应该考虑使用一个中间件,比如身体分析器。这是一个标准模式。。。考虑这个代码,例如:(来自)


回调函数用于处理非阻塞异步性质。当作业阻塞I/O时,它只需将其放入任务队列并向前移动。完成任务后,是触发回调函数的时候了,我们可以用任何方式处理返回的值。这就是回调函数的使用。为了更好地理解,您可以阅读事件循环

在这里,您必须传递自定义回调函数才能正确处理该场景

var express = require('express')
var bodyParser = require('body-parser')

var app = express()

// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))

// parse application/json
app.use(bodyParser.json())

app.use(function (req, res) {
  res.setHeader('Content-Type', 'text/plain')
  res.write('you posted:\n')
  res.end(JSON.stringify(req.body, null, 2))
})
在您想要使用parse方法的地方,可以这样使用

var request = require('request');

var options = {
  url: 'https://api.github.com/repos/request/request',
  headers: {
    'User-Agent': 'request'
  }
};

exports.parse = function(cb){
   request(options, cb);
}

回调函数用于处理非阻塞异步性质。当作业阻塞I/O时,它只需将其放入任务队列并向前移动。完成任务后,是触发回调函数的时候了,我们可以用任何方式处理返回的值。这就是回调函数的使用。为了更好地理解,您可以阅读事件循环

在这里,您必须传递自定义回调函数才能正确处理该场景

var express = require('express')
var bodyParser = require('body-parser')

var app = express()

// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))

// parse application/json
app.use(bodyParser.json())

app.use(function (req, res) {
  res.setHeader('Content-Type', 'text/plain')
  res.write('you posted:\n')
  res.end(JSON.stringify(req.body, null, 2))
})
在您想要使用parse方法的地方,可以这样使用

var request = require('request');

var options = {
  url: 'https://api.github.com/repos/request/request',
  headers: {
    'User-Agent': 'request'
  }
};

exports.parse = function(cb){
   request(options, cb);
}

如果您需要在其他地方使用该变量,为什么不让
request
接受自定义回调?现在找不到重复的。有人请用正确的密码把这个关上duplicate@user2896976此实现将代码本地化:)如果您需要在其他位置使用该变量,为什么不让
request
接受自定义回调?现在找不到重复的。有人请用正确的密码把这个关上duplicate@user2896976此实现将代码本地化:)当我在解析函数中调用result时,此方法返回我{}空的结果对象:|在发生回调之前,结果对象为空。所有逻辑都应该包含在回调函数中。如果希望在结果可用时更好地控制如何处理结果,也可以使用Promissions。当我在解析函数中调用result时,此方法返回我{}空的结果对象:|在发生回调之前,结果对象为空。所有逻辑都应该包含在回调函数中。如果希望更好地控制在结果可用时如何处理结果,也可以使用promissions.thx,但no.info变量可以等于
var info=parseInformation(body)
thx,但no.info变量可以等于
var info=parseInformation(body)