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)代码>