首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何调用函数完成内部AJAX的执行?

如何调用函数完成内部AJAX的执行?
EN

Stack Overflow用户
提问于 2021-05-04 20:38:29
回答 1查看 24关注 0票数 0

我有下面提到的AJAX代码:

代码语言:javascript
运行
复制
$("#id").click(function(e){
e.preventDefault();
$.ajax({
    url: 'url1',    
    type: 'get',
    data: {
        method: 'method1',
        param: id
    },
    datatype: 'json',
    success: function(p){
        let arr = [];
        const obj = JSON.parse(p);
        if (obj.RETVAL == true) {
            var i;
            for(i=0; i< 6 ; i++){
                $.ajax({
                    url: 'url2',    
                    type: 'post',
                    data: {
                        method: 'method2',
                        param: id2
                        },
                    success: function(r){
                        if (r>1) {
                        }
                        else{
                            arr.push(r);  //this array will be passed in fun1
                        }
                    }
                }); 
            }
        }
        fun1(arr);
    }
});

});

在我的例子中,我注意到fun1是在for循环内的代码完全执行之前被调用的。比如if for循环被执行,函数就会被触发。因此,arr包含的条目较少。只有在执行完循环后才能调用函数fun1?

EN

回答 1

Stack Overflow用户

发布于 2021-05-04 20:42:01

$.ajax返回一个thenable

将它们收集到一个数组中。将该数组传递给Promise.all。当Promise.all返回的promise解析时,调用fun1

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67384934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档