我正在修改我之前的问题,因为我觉得这个问题与从ajax调用在map中放入一个条目密切相关。 Map没有错。
编辑: -
我使用以下方式填充Feed地图,其中key表示url和value表示Feed;
channelMap.each(function(key,url,n){
loadFeedFor(url,10);
console.debug(feedMap);
});
:
function loadFeedFor(url,maxposts){
var gurl = "http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&callback=?&q="+url;
if(maxposts != null) gurl += "&num="+maxposts;
$.getJSON(gurl, function(){})
.done(function(data){
feeds = data.responseData.feed;
feedMap.put(url,feeds);
});
}
但它不起作用。我想我必须使用Deffered来解决这个问题,但不知道如何。
我正在使用此answer的地图。
我尝试以另一种方式做同样的事情,我不使用地图。我用不同的3个rss feed url调用跟随函数;
function rssfeedsetup(feedId,feedurl,feedlimit){
var feedpointer=new google.feeds.Feed(feedurl); //Google Feed API method
feedpointer.setNumEntries(feedlimit); //Google Feed API method
feedpointer.load(function(response){
console.log(response.feed);
return setTimeout(displayFeed(response.feed,feedId), 3000);
}); //Google Feed API method
}
控制台正确打印所有Feed(25个条目)。但实际上页面上显示的Feed是 总是少。甚至延迟都没有帮助我。