我的需求类似,for 循环i ,把i用ajax发请求,返回一个id,和obj[i].name属性组成一个{"xx","xx" },由于name在for里面会变,所以我用了闭包
for(i;obj;){
    (function(name){
           id = ajax(i);
           var data = {"name":name,"id":id};
    }(obj[i].name));
 }
    现在我要在这基础上,把这个data变量push到一个数组里,
所以上面的代码在var data的下一行里写var content = [];
for(i;obj;){
    (function(name){
           id = ajax(i);
           var data = {"name":name,"id":id};
    ​      content.push(data);
    }(obj[i].name));
}
这时候问题就来了,content不能传进闭包里,如果我用
content.push(function(){ajax(.....)}) 这样的话,在走content.push的时候,ajax还没有返回,所以push的内容是null ,
请问这个应该怎么解决,谢谢