Javascript 如何从$收集所有结果。在进一步执行js之前进入循环
我有一个js for循环,在循环中它从php脚本中获取值 如何在脚本进一步执行之前收集所有值 我现在所拥有的: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
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()