我有以下脚本:
var request = require("request");
var slogans = request.get("https://raw.githubusercontent.com/queatech/slogans/master/slogans.txt", function(err, res, body){
if (!err && res.statusCode == 200) {
return body.split("\n").splice(-1);
}
});
console.log(slogans);
我希望脚本的输出为
['The Ultimate Q& A Site','The Free Q& A Site','The Idea Q& A Site']
但我得到了长JSON GET查询。有没有办法将变量slogans
设置为https://raw.githubusercontent.com/queatech/slogans/master/slogans.txt的GET请求?
这可能吗?
答案 0 :(得分:0)
根据请求库源代码[1],request.get
将返回Request
个对象。你真正需要的是回应。
您已将功能传递给request.get
来电,它被称为回叫,此功能会接收参数err
,res
和body
。 res
代表响应,检查它以找到您正在寻找的内容。简而言之,body
包含您要求的数据。
您只能在回调函数的范围内访问这些变量(err
,res
和body
),并且回调函数的主体只能一次执行当您对请求的回复到来时。
无论您在request.get
执行后编写的代码是什么,并行执行#34;并且意味着它不会等待您的回复到达。