我有一个棘手的情况。我需要延迟一个函数的执行,直到几个函数完成。虽然以下情况可以在正常情况下使用:jQuery/Javascript延迟执行一个函数,直到完成几个函数
$.when(foo1(), foo2(), foo3()).then(function(){
//foo4();
});
我的情况有点不同。我不希望传递给$.when()
的函数立即执行。将在不久的将来通过其他方法在某个时间点执行foo1-3
。换句话说,我想在我选择的时候手动执行foo1-3
。只有foo1-3
已经执行(没有特定的顺序)将运行foo4
。
我的直觉告诉我要深入探索$.Deferred()
,但我还没有完全找到自己需要的东西。有任何想法吗?
你的意思是'。然后(foo4)',对吧?否则,您将'foo4()'返回的值传递给'.then()'... – 2012-08-07 18:44:14
我编辑它以避免淹没。但是,是的,你是对的。 – 2012-08-07 18:49:09