我想调用一个帮助从Facebook提取一些数据的API。我希望API会在指定日期或之前继续循环。如果找到了预期的结果,那么它应该返回一个json。但是下面的代码,它总是返回一个空的json。
app.get('/fb/test', (req, res) => {
const options = {
method: 'GET',
uri: 'https://graph.facebook.com/v2.10/me/tagged_places',
qs: {
access_token: token,
limit: 10,
fields: 'created_time,id,place'
}
};
request(options)
.then(fbRes => {
var found = false;
loop(fbRes);
function loop(returnData){
const parsedRes = JSON.parse(returnData).data;
var start = moment.tz("2010-06-01 00:00", timezone).format();
for (var i = 0; i < parsedRes.length; i++) {
var date = moment.tz(parsedRes[i].created_time, timezone).format();
if( date >= start ){
console.log(parsedRes[i].place.name);
if(parsedRes[i].place.name == "Moscow, Russia"){
found = true;
res.json({ result: true });
break;
}else if(i==parsedRes.length-1 && found == false){
let newOptions = {
method: 'GET',
uri: JSON.parse(returnData).paging.next
};
request(newOptions)
.then(newData => {
loop(newData);
})
.catch(function (err) {});
return ture;
}else{
//break;
}
}else{
res.json({ result: false });
}
}
}
})
.catch(function (err) {
res.json(err);
});
});