我已經實現了使用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 -呼叫);其中的一些答案提到了如何處理一系列的承諾(一個接一個地)或並行(一次完成,等待他們完成)。 –