Я хочу использовать node.js для повышения производительности приложений Facebook. Представьте себе приложение, которое пытается вычислить, кто вы лучший друг на Facebook, извлекая много данных из вызовов API - определяя, сколько раз ваши друзья опубликовали на вашей стене, сколько фотографий вы отметили вместе - и так далее.
Таким образом, вместо того, чтобы выполнять вызовы один за другим, как я использую PHP, у меня есть идея отправить их всех вместе в Facebook, используя неблокирующую асинхронную природу Node.js.
Таким образом, общее время выполнения будет временем выполнения API-вызова, которое занимает больше всего времени, а не суммой времени выполнения каждого вызова, верно?
Я пытаюсь использовать node-facebook-sdk (https://github.com/tenorviol/node-facebook-sdk) для вызовов API Facebook, и похоже, что он блокируется, не так ли?
Просто быстрая и грязная модификация примера кода, запрашивающая 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);
});