Javascript 为什么返回空数组?AJAX

Javascript 为什么返回空数组?AJAX,javascript,ajax,Javascript,Ajax,知道为什么下面的函数返回空数组吗?我无法理解或调试此错误。最初,storearray1返回包含值的数组。在后续使用中,storearray1返回一个空数组。如果可能的话,我们可以帮助解决这个问题。我很困惑 function f1(){ var storearray1=[]; for (var skip = 0; skip < 9000; skip = skip + 500) { $.ajax({ url: "/api/rout

知道为什么下面的函数返回空数组吗?我无法理解或调试此错误。最初,storearray1返回包含值的数组。在后续使用中,storearray1返回一个空数组。如果可能的话,我们可以帮助解决这个问题。我很困惑

   function f1(){
    var storearray1=[];
    for (var skip = 0; skip < 9000; skip = skip + 500) {
      $.ajax({
          url: "/api/routes?$skip=" + skip,
          success: function(results) {
              //Set result to a variable for writing
              var objs = JSON.stringify(results);
              var routetimeobjs = JSON.parse(objs);
    
              storearray1.push(routetimeobjs['value']);
          }
      });
    
    }
}




    function showresult(){
              console.log(storearray1);//work (refer to image)
              var actualarray=storearray1;
              console.log(actualarray); //does not work- return empty array
        }
showresult();
函数f1(){
风险值storearray1=[];
对于(var skip=0;skip<9000;skip=skip+500){
$.ajax({
url:“/api/routes?$skip=“+skip,
成功:功能(结果){
//将结果设置为用于写入的变量
var objs=JSON.stringify(结果);
var routetimeobjs=JSON.parse(objs);
storearray1.push(routetimeobjs['value']);
}
});
}
}
函数showresult(){
console.log(storearray1);//工作(参考图片)
var actualarray=存储阵列1;
console.log(actualarray);//不工作-返回空数组
}
showresult();
storearray1的控制台日志:

试试这个

var-storearray1=[];
var调用=[];
对于(var skip=0;skip<9000;skip=skip+500){
(功能(skp){
var c=$.ajax({
url:“/api/routes?$skip=“+skp,
成功:功能(结果){
//将结果设置为用于写入的变量
var objs=JSON.stringify(结果);
var routetimeobjs=JSON.parse(objs);
storearray1.push(routetimeobjs['value']);
}
});
呼叫。推送(c);
})(跳过);
}
$.when(…调用).then(()=>console.log(storearray1));

调用showresult()函数时,您能告诉我吗?您能提供更多的代码吗?与调用
showresult
类似,请提供一个代码段