这是我的第一部分代码。我这里有一个列表,列出了从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?这将大大加快这一进程。