我想开始8次ajax获取请求N次,我的代码就像:
var me = this;
urls.forEach(function(requests){
$.when(requests.map(function(request){
return $.ajax(request)
})).done(function(data){
me.result.push(data);
//data is an array of 8 where every object is coming from those requests
})
})
如果我在done
函数回调中放置一个断点,那么每个对象都是一个空的ajax对象,但是如果我在成功函数被调用N次之后等待一点,我检查this.result
数据那里是对的。为什么“完成”的成功太早了?
答案 0 :(得分:1)
这只是一个未经考验的想法......难道它的工作有点简单...
var result = [];
var urls = ["http://url1.com","http://url2.com","http://url3.com"];
urls.forEach(function(str_url){
$.ajax({
url: str_url
}).done(function(data){
result.push(data);
//data is an array of 8 where every object is coming from those requests
});
});