我在jQuery中有这样一个简单的Ajax调用...
function my_call(identifier) {
var settings = {
"async": true,
"crossDomain": true,
"url": "http://www.example.com/?" + identifier,
"method": "GET",
"headers": {
"Accept": "application/json",
},
"processData": false,
"contentType": false,
"dataType" : "json",
"mimeType": "multipart/form-data",
}
$.ajax(settings).done(function (response) {
console.log(response);
});
}
对于这样的不同标识符,我称之为10次...
my_call(1);
my_call(2);
my_call(3);
my_call(4);
my_call(5);
我已将async设置为true,因此假设所有这些调用都将同时发生,但是相反,我似乎将结果一次又一次地打印到控制台上,两者之间有些延迟。
我做对了吗,还是有其他方法可以调用该函数?我正在尝试减少返回结果所需的时间。
答案 0 :(得分:1)
AJAX函数调用接连发生。它们仍然asynchronous,因为它们不等待执行之前的上一个AJAX调用完成(如果您将async
设置为false
,则会出现这种情况)。 AJAX调用应该可以这样工作。您将请求发送到服务器,并等待以执行响应。为了使AJAX调用更快地完成,您将必须优化服务器端代码(如果可能)。另外,也不必将async
属性设置为true
,因为这是默认设置。 Javascript是单线程的,因此您不能在完全相同的时间上执行许多功能。