是否有可能使用jQuery的。当没有一个Ajax调用?(Is it possible to use

2019-09-24 02:48发布

http://jsfiddle.net/f4hmL/235/

function showData() {
    alert("boop!");
}

function method1() {
    var dfd = $.Deferred();
    setTimeout(dfd.resolve(), 10000);
    return dfd.promise();
}

function method2() {
    var dfd = $.Deferred();
    setTimeout(dfd.resolve(), 6000);
    return dfd.promise();
}

$.when(method1(), method2()).then(showData);​

我希望只看到“BOOP”时所显示的两个递延对象解决了,但我立刻看到它。 是否有可能实现这一目标? 是jQuery的“当”的方法正确的函数被使用?

Answer 1:

你是不是通过正确的事情setTimeout() 这不会工作,因为你在呼唤dfd.resolve()立即和结果传递给setTimeout()在这一行:

setTimeout(dfd.resolve(), 10000);

相反,你需要的东西是这样的:

setTimeout(function() {dfd.resolve()}, 10000);

该不会叫的决心,直到超时火灾。



文章来源: Is it possible to use jQuery's .when without an ajax call?