Javascript 如何从$收集所有结果。在进一步执行js之前进入循环

Javascript 如何从$收集所有结果。在进一步执行js之前进入循环,javascript,php,jquery,Javascript,Php,Jquery,我有一个js for循环,在循环中它从php脚本中获取值 如何在脚本进一步执行之前收集所有值 我现在所拥有的: for(var i=0; i<TabelArray.length; i++) { $.get({ url: drawURL + '/tabelPrice&name=' + name + '&width='+ width + '&height=' + height, dataType: 'json', success: f

我有一个js for循环,在循环中它从php脚本中获取值

如何在脚本进一步执行之前收集所有值

我现在所拥有的:

for(var i=0; i<TabelArray.length; i++) {
  $.get({
        url: drawURL + '/tabelPrice&name=' + name + '&width='+ width + '&height=' + height,
    dataType: 'json',
    success: function(data) {
        //console.log("succes");
        console.log(data);
    }, 
    error: function() {
       callback(false);
    }
    });
}
console.log("after loop");

for(var i=0;i您必须使用回调等待所有调用返回:

var results = [];

var after_loop = function () {
  console.log("after loop");
  // do whatever you want with results
};

var process_data_ok = function (data) {
  console.log(data);

  results.push(data);
  if ( results.length == TabelArray.length ) {
    after_loop();
  }
};

var process_data_fail = function () {
  console.log(false);

  results.push(false);
  if ( results.length == TabelArray.length ) {
    after_loop();
  }
};

for(var i=0; i<TabelArray.length; i++) {
  $.get({
    url: drawURL + '/tabelPrice&name=' + name + '&width='+ width + '&height=' + height,
    dataType: 'json',
    success: process_data_ok, 
    error: process_data_fail
  });
}
var结果=[];
循环后的变量=函数(){
log(“循环后”);
//你想做什么就做什么,结果如何
};
var过程数据确定=功能(数据){
控制台日志(数据);
结果:推送(数据);
if(results.length==TabelArray.length){
在循环()之后;
}
};
var过程\数据\失败=函数(){
console.log(false);
结果:推送(假);
if(results.length==TabelArray.length){
在循环()之后;
}
};

对于(var i=0;iyou正在查找
async:false,
().note-请注意,同步请求可能会暂时锁定浏览器,从而在请求处于活动状态时禁用任何操作。Ajax是异步的。将执行控制台日志,而不考虑调用何时返回。不
async:false
,使用承诺或发布/订阅模式。如果使用async:false,我将收到弃用警告.或
Promise.all()