我已经实现了使用ajax(xhr)向服务器发送请求数据的java脚本。如何将循环(for)转换为java脚本中的承诺
但不知何故,循环不是承诺。
我试图实现Promise但总是失败。
这是我想转换成承诺
var resulA = ajaxA(a);
For(resultA){
var resultB = ajaxB(url?param1=resultA.id);
for(resultB){
var resultC = ajaxC(url?param1=resultA.id¶m2=resultB.id);
for(resultC){
}
}
}
请你给我一个指导如何把JavaScript的上方进入无极的JavaScript?
编辑: 在这里,我想用承诺
var xhr = $.getJSON('${pageContext.request.contextPath}/someURL.action?');
console.log("after load ajax");
xhr.done(function(data){
for (var i = 0; i < data.length; i++) {
var xhrPolygon = $.getJSON('${pageContext.request.contextPath}/Koordinat/getKoordinateAja.action?idArea='+data[i].id);
xhrPolygon.done(function(resultData){
if(resultData.length>0){
for (var j = 0; j < resultData.length; j++) {
var koordinat = [resultData[j].areaLng,resultData[j].areaLat];
console.log(koordinat);
}
}
});
}
});
你应该有一些错误显示在你的控制台。 – Script47
请注意:Java和Javascript不是相同的语言,就像奥地利和澳大利亚不是同一个国家一样。 – PeterMader
可能是[*如何从异步调用返回响应?]的副本(https://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous -呼叫);其中的一些答案提到了如何处理一系列的承诺(一个接一个地)或并行(一次完成,等待他们完成)。 –