使用Jquery $何时进行异步和同步函数调用

时间:2014-11-13 13:03:42

标签: javascript jquery promise jquery-deferred

我需要进行异步调用和同步调用,当两个调用结束时,我需要调用另一个函数。我为此目的使用JQuery。当我进行多个异步调用时,这个函数工作正常但是当我进行同步调用时,我得到错误。我正在使用下面的代码来拨打电话。

var requestTwo = function() {
        var v = 10;
        var j = 20;
        var k = v + j;
    };

    $.when($.get(url, function (result, status, xhr) {
        myresult = result;
    })),
    (requestTwo).then(function (r1, r2) {
        //DO something

     });

我收到以下错误:

JavaScript runtime error: Object doesn't support property or method 'then'

2 个答案:

答案 0 :(得分:1)

您不需要$.when进行同步函数调用,只需调用它们

即可
$.get(url, function (result, status, xhr) {
    var myresult = result;
    requestTwo();
     // DO something here, it's synchronous and single threaded, 
     // so the function will be finished
});

答案 1 :(得分:0)

据我所知,你的第二个论点是'当'功能必须是一个承诺。看这里http://learn.jquery.com/code-organization/deferreds/#promises。它似乎是你的代码中的拼写错误