Javascript 如何在java脚本中将循环(for)转换为承诺

Javascript 如何在java脚本中将循环(for)转换为承诺,javascript,jquery,promise,Javascript,Jquery,Promise,我已经使用ajax(xhr)实现了向服务器请求数据的java脚本 但不知何故,这个循环并不是承诺 我试图履行诺言,但总是失败 这就是我想要转换成promise的javascript var resulA = ajaxA(a); For(resultA){ var resultB = ajaxB(url?param1=resultA.id); for(resultB){ var resultC = ajaxC(url?param1

我已经使用ajax(xhr)实现了向服务器请求数据的java脚本

但不知何故,这个循环并不是承诺

我试图履行诺言,但总是失败

这就是我想要转换成promise的javascript

    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变成承诺的指南吗

编辑: 这里是我想要使用的java脚本

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);
                             }
                            }
                        }); 



}
});
var xhr=$.getJSON(${pageContext.request.contextPath}/someURL.action?);
log(“加载ajax之后”);
xhr.done(函数(数据){
对于(变量i=0;i0){
对于(var j=0;j
javascript xhr并不是建立在承诺之上的,但是新的fetch在这里提供了文档

如果您需要在这里创建承诺,您有一些代码

let promise = new Promise((resolve, reject) => {
   if(success){
     resolve();
   }
   else{
    reject()
}
});

promise.then(r => console.log(r), e => console.log(e));

您的控制台中应该会出现一些错误。请注意:Java和Javascript不是同一种语言,就像奥地利和澳大利亚不是同一个国家一样。可能是;这里的一些答案谈到了如何处理一连串的承诺(一个接一个)或并行的承诺(同时等待它们全部完成)。@PeterMader谢谢你的纠正,我错了。如果我们甚至不知道应该做什么,我们该如何帮助你?不应包含语法错误。如果ajaxA是某种伪代码,请解释它的作用。它返回一个承诺吗?那么,不止一个承诺,比如说承诺a和承诺B,承诺B需要承诺a的结果的一些属性,如何将承诺a的结果传递给te承诺B,并从承诺B函数中使用它。承诺。然后(r=>{//do something console.log(r,'a');返回r;})。然后(r=>{//do something console.log(r,'B');return r;})。然后(r=>{//do something console.log(r,'c');return r;});您需要返回承诺的响应