I'm having a serious issue with Node.js
I'm developing an API to get back data from Facebook Databases using GraphQL and then send back JSON with selected data.
The issue comes when I iterates (with a for loop) through the response array to select the useful data, I don't know how to get all the data and then send it to client. I thought that calling the callback at each iteration would be nice but it didn't solve the problem
Here is the code from my API
Read data from GraphQL
FB.api('me/feed', ...) returns an array of all the data.
The second call returns individual post details, this is the most important part (I have to return an array of this details to the client in json format)
module.exports = function (start, end, callback) {
if (start > end) throw 'Start is greater than end';
FB.api('me/feed', function (res) {
// Error handling
if (!res || res.error) {
throw 'FB error occurred: ' + res.error;
}
console.log('FB: OK');
for (let i = start; i < res.data.length && i != end; i++) {
FB.api(res.data[i].id + '/attachments', function(post) {
callback({
id: res.data[i].id,
type: post.data[0].type,
postDesc: res.data[i].message.split('\n\n')[0],
postUrl: post.data[0].url,
imagePreviewUrl: post.data[0].media.image.src
});
});
}
});
}
via Andrea BusÃ
No comments:
Post a Comment