使用nodejs fbgraph分页facebook Graph API

时间:2015-10-11 19:45:56

标签: javascript node.js facebook facebook-graph-api pagination

我需要使用node.js对组成员进行分页并进行一些数据挖掘。我使用了节点模块https://github.com/criso/fbgraph但是分页没有表现出来。

是否有任何解决方案可以与node.js一起轻松地使用Facebook图形API的结果进行分页?

这是我用来获得该组管理员的代码



var options = {
	pool:     { maxSockets:  Infinity }
	, headers:  { connection:  "keep-alive" }
};
graph.setAccessToken('***');
graph.setOptions(options)
.get("***/members?fields=administrator", function(err, resp) {
	members=[];
	members.push.apply(members,resp.data);
	admins =[];
	console.log("count 1 "+ members.length);
	if(resp.paging && resp.paging.next) {
		graph.setOptions(options)
		.get(resp.paging.next, function(err, resp) {
			console.log("count 2 "+ resp.data.length);
			members.push.apply(members,resp.data);
		});
	}
	console.log("count end "+ members.length);

	members.filter(function(obj) {
		if(obj.administrator === true){
			admins.push(obj);
		}
	});

	res.json(admins);




1 个答案:

答案 0 :(得分:0)

您对它的期望是什么以及您取得了什么成果?您似乎对JS函数和调用的异步性质有疑问。

你应该在members.push

之后立即移动members.filter

或切换到承诺

或切换到async / await