Javascript 如何使用google feed API异步填充sigma.js图形?
我想使用javascript库Sigmajs将我的wordpress和github活动表示为一个图形网络。我正在使用GoogleFeedAPI获取所有活动的RSS提要,并将它们转换为图上的节点和边 但是feedapi异步返回rss结果。据我所知,sigmajs本机不支持这一点,所以我得到了未定义的引用。在这一点上,它只有大约20-30个节点。一些可能的解决办法是:Javascript 如何使用google feed API异步填充sigma.js图形?,javascript,asynchronous,rss,visualization,google-feed-api,Javascript,Asynchronous,Rss,Visualization,Google Feed Api,我想使用javascript库Sigmajs将我的wordpress和github活动表示为一个图形网络。我正在使用GoogleFeedAPI获取所有活动的RSS提要,并将它们转换为图上的节点和边 但是feedapi异步返回rss结果。据我所知,sigmajs本机不支持这一点,所以我得到了未定义的引用。在这一点上,它只有大约20-30个节点。一些可能的解决办法是: 强制GoogleFeedAPI同步返回结果。 (不知道怎么做,但我认为这与适当的闭包有关?) 为每个提要结果创建sigma实例,并将
更多示例和来源我使用的解决方案是触发一个自定义事件。由于javascript的同步事件处理队列,它似乎可以正常工作
function getFeed()
{
return function callback(result)
{
if (!result.error)
{
console.log("Feed retrieved.");
fireFeed(result.feed);
}
else
console.log("Feed retrieval failed!");
}
}
function fireFeed(feed)
{
//console.log(feed);
var event = new CustomEvent(
"newFeed",
{
detail: {
message: feed
},
bubbles: true,
cancelable: true
}
);
document.dispatchEvent(event);
}
document.addEventListener('newFeed', function(e)
{
var feed = e.detail.message;
console.log('feed triggered');
//console.log(feed);
buildFeed(feed);
},true);