我想使用node.js来提升我的Facebook应用程序性能。想象一下,尝试计算谁是Facebook上最好的朋友的应用程序,从API调用中获取大量数据 - 确定您的朋友在墙上发布了多少次,一起标记了多少张照片等等。
因此,我不是一次又一次地运行该调用,而是使用PHP,我有一个想法,即使用Node.js的非阻塞,异步特性将它们一起发送到Facebook。
因此总体执行时间将是最耗时的API调用的时间,而不是每次调用的执行时间总和,对吧?
我尝试使用node-facebook-sdk(https://github.com/tenorviol/node-facebook-sdk)来进行Facebook API调用,而且它似乎是阻塞,不是吗?
对示例代码进行快速而肮脏的修改,请求3个用户配置文件,似乎调用不是异步的,每个调用都在之前完成之后发送到Facebook。有什么办法可以避免吗?
提前感谢!
var fbsdk = require('facebook-sdk');
var facebook = new fbsdk.Facebook({
appId : '_APPID_',
secret : '_SECRET_'
});
var i = 0;
setInterval(function() {
i++;
console.log("TICK " + i);
}, 500);
facebook.api('/100000997949108', function(data) {
console.log(data);
});
facebook.api('/1609464095', function(data) {
console.log(data);
});
facebook.api('/100000560820400', function(data) {
console.log(data);
});
答案 0 :(得分:0)
这个库可以帮助你解决所有异步问题。我将您希望用于解决问题的特定方法进行了深入研究,但整个库非常适合抽象出一些比较繁琐(又丑陋!)的异步模式。对于那些来自程序的人来说,这是一个很棒的过渡工具,如果你想学习一些异步模式,你可以在封面下达到顶峰。