Node.js 如何将响应存储到变量nodejs请求模块中
我试图通过请求模块存储使用nodejs发出的http请求的响应,但问题是我无法在请求完成后访问它,我们可以在回调后说,更详细的信息 我怎样才能添加它 这是我到现在为止所做的 尝试使用var而不是let 尝试将其传递给函数,以便稍后使用,但没有成功 这是我的代码,任何人都可以帮助nodejs新手,这就是为什么可能是一个noob问题Node.js 如何将响应存储到变量nodejs请求模块中,node.js,arrays,node-modules,node-request,nodejs-server,Node.js,Arrays,Node Modules,Node Request,Nodejs Server,我试图通过请求模块存储使用nodejs发出的http请求的响应,但问题是我无法在请求完成后访问它,我们可以在回调后说,更详细的信息 我怎样才能添加它 这是我到现在为止所做的 尝试使用var而不是let 尝试将其传递给函数,以便稍后使用,但没有成功 这是我的代码,任何人都可以帮助nodejs新手,这就是为什么可能是一个noob问题 var request = require('request') var response function sort(body) { for (var
var request = require('request')
var response
function sort(body) {
for (var i = 0; i < body.length; i++) {
body[i] = body[i].replace("\r", "");
}
response = body
return response
}
request.get(
"https://api.proxyscrape.com/?request=getproxies&proxytype=http&timeout=10000&country=all&ssl=all&anonymity=all",
(err, res, body) => {
if (err) {
return console.log(err);
}
body = body.split("\n");
sort(body);
}
);
console.log(response)
var request=require('request'))
var响应
函数排序(正文){
对于(变量i=0;i{
如果(错误){
返回console.log(err);
}
body=body.split(“\n”);
排序(体);
}
);
console.log(响应)
在本文中,我从这个api获取代理,并尝试将它们存储在一个名为response的变量中
var request = require("request");
var response;
async function sort(body) {
await body.split("\n");
response = await body;
console.log(response); // this console log show you after function process is done.
return response;
}
request.get(
"https://api.proxyscrape.com/?request=getproxies&proxytype=http&timeout=10000&country=all&ssl=all&anonymity=all",
(err, res, body) => {
if (err) {
return console.log(err);
}
sort(body);
}
);
// console.log(response); //This console log runs before the function still on process, so that's why it gives you undefined.
- 试试这段代码,我刚测试过,效果很好
- 将控制台日志放在函数中,以便查看结果
- 您放置的console.log实际上是在处理数据之前运行的,所以这就是为什么会出现“未定义”的情况
- 实际上,在完成排序函数的处理后,您将获得数据