我正在创建一个应用,根据用户从表单中选择的名称显示推文。选择将传递给" getTweets"功能,像这样:
function getTweets(selections) {
var holdTweets = [];
$.each( selections, function(){
$.ajax({
url: 'http://api.twitter.com/1/statuses/user_timeline/'+this.id+'.json?callback=?',
dataType: 'jsonp',
success: function(data) { holdTweets.push(this); },
error: function() { console.log('something went wrong'); }
});
});
}
在完成所有AJAX请求之后,我想在解析JSON之前对holdTweets数组进行排序。
一切正常:AJAX请求返回JSON并且正在填充holdTweets数组。在进行排序之前是否可以检查所有AJAX请求是否已完成?如果是这样,怎么样?
提前致谢!
答案 0 :(得分:0)
谢谢,伙计们。我已经做到了,而且工作正常。
function getTweets(selections) {
var holdTweets = [];
$.each( selections, function(){
$.ajax({
url: 'http://api.twitter.com/1/statuses/user_timeline/'+this.id+'.json?callback=?',
dataType: 'jsonp',
success: function(data) {
holdTweets.push(this);
if(holdTweets.length === selections.length) {
sortFunction(holdTweets);
}
},
error: function() { console.log('something went wrong'); }
});
});
}
答案 1 :(得分:0)
当您使用jQuery时,ajaxStop方法允许您注册在所有Ajax请求完成时要调用的处理程序。