多个javascript Ajax请求似乎同步工作

时间:2017-10-09 15:37:05

标签: javascript html ajax

这是我的第一部分代码。我这里有一个列表,列出了从mySQL服务器检索数据时需要做的所有api调用。

function ProcessUrls() {
        requests = [];
        var urls = ['url1', 'url2', 'url3' 'url4'];
        for(i=0;i<urls.length;i++)
        {
            requests.push(new ProcessUrl(urls[i]));
            console.log('Invoking the functions');
        }

    }

调用功能&#39;登录上面的代码,这个文本行几乎可以立即调用4次,如你所料。

这里我处理网址并进行实际的API调用:

function ProcessUrl(url) {
    var http = new XMLHttpRequest();

    http.open("GET", url, true);
    http.send(null);

    console.log('Function being called');

    http.onreadystatechange = function() {
        if (http.readyState == 4 && http.status == 200) {
            console.log('Done doing the API call');


            }
        }
    };
}

&#34;函数被调用&#34;日志几乎立即被调用了4次,问题是“完成了API调用”。因为日志以约0.5秒的恒定节奏缓慢出现,所以似乎同步运行。

有没有办法在并行运行这些onreadystatechange?这将大大加快这一进程。

0 个答案:

没有答案