jQuery-Ajax异步无法正常工作?

时间:2018-08-09 22:07:35

标签: javascript jquery ajax

我在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,因此假设所有这些调用都将同时发生,但是相反,我似乎将结果一次又一次地打印到控制台上,两者之间有些延迟。

我做对了吗,还是有其他方法可以调用该函数?我正在尝试减少返回结果所需的时间。

1 个答案:

答案 0 :(得分:1)

AJAX函数调用接连发生。它们仍然asynchronous,因为它们不等待执行之前的上一个AJAX调用完成(如果您将async设置为false,则会出现这种情况)。 AJAX调用应该可以这样工作。您将请求发送到服务器,并等待以执行响应。为了使AJAX调用更快地完成,您将必须优化服务器端代码(如果可能)。另外,也不必将async属性设置为true,因为这是默认设置。 Javascript是单线程的,因此您不能在完全相同的时间上执行许多功能。