同步问题$ .when()

时间:2017-05-20 12:22:28

标签: javascript jquery .when

我有一个声明变量的函数,使用$ .when执行三个ajax请求,修改.done()方法内的变量并返回值:

someFunction = function(){
    var myVar;
    $.when(ajax1(), ajax2(), ajax3()).done(function(){
        myvar = "something";
    });
    return myVar;
}

但是,由于其异步性质,首先执行return语句并返回undefined。 我通过在return语句之前添加一些内容来确认这一点(出于调试目的):

setTimeout(function(){
    console.log(myVar);
}, 2000);

等待2秒(足够长时间以便所有请求和回调完成)后,它返回正确的值。

那么,我应该如何正确地写这个以使其同步?

0 个答案:

没有答案