所以我试图从多个播客源中排序日期;要做到这一点,我将使用播客链接循环一个数组,并将日期推送到一个新数组并在另一个函数中对数据进行排序。
问题在于,当我注销日期数组时,它总是返回空。
我试图设置一个when / then(完成产生相同的结果)构造,但没有成功。
以下代码:
_.each(data[1], function(value, key){
var feed = new google.feeds.Feed(value.links);
feed.load(function(data) {
var entries = data.feed.entries;
_.each(entries, function(value, key){
that.feedDates.push(value.publishedDate);
});
});
当/然后
$.when(_.each(data[1], function(value, key){
that.whenAjax(value, key); //a function call to the above
})).then(function(data){
//data comes back as the feed links
that.sortDate(that.feedDates); //date sort function
});
谢谢 -art
答案 0 :(得分:0)
这一直到.when
实际上并不知道whenAjax
已完成,因为feed.load
没有返回承诺。
你可以假装这个并且具有你的功能:
function whenAjax() {
var d = $.Deferred();
_.each(data[1], function(value, key){
var feed = new google.feeds.Feed(value.links);
feed.load(function(data) {
var entries = data.feed.entries;
_.each(entries, function(value, key){
that.feedDates.push(value.publishedDate);
});
return d.resolve();
});
}