道歉,因为我有点像初学者,但我试图将get请求放在函数中的变量中,以便我可以在另一个函数中调用它并让它返回JSON。
function getRequest (url, response) {
var response = request.get({
url: url,
json: true,
headers: {'User-Agent': 'request'}
}, (err, res, data) => {
if (err) {
console.log('Error:', err);
} else if (res.statusCode !== 200) {
console.log('Status:', res.statusCode);
} else {
console.log(data);
}
});
}
然后我有
var result = getRequest(urlPlaylist);
让它从函数中返回JSON。有人可以帮我弄清楚如何构建回调吗?谢谢!
答案 0 :(得分:1)
请求是异步的,因此您无法返回。尝试这样的事情,在json(数据)准备就绪时传递回调函数。
function getRequest (url, cb) {
request.get({
url: url,
json: true,
headers: {'User-Agent': 'request'}
}, (err, res, data) => {
if (err) {
console.log('Error:', err);
} else if (res.statusCode !== 200) {
console.log('Status:', res.statusCode);
} else {
cb(data);
}
});
}
getRequest(urlPlaylist, function (json) {
console.log(json);
});