1
可以说我有下面的代码:延迟函数传入when()异步或同步运行?
$.when(func1(),funct2(),func3())
.done(...)
.fail(...);
我想知道,如果这些功能都将被立即调用,如果jQuery将打电话给他们纷纷为他们解决了。根据文档看来,它们将异步运行:
在多个Deferred对象传递给jQuery.when的情况下,该方法从跟踪聚合状态的新“主”Deferred对象返回Promise已经通过的所有延期债券。
...
在其中Deferreds之一被拒绝多重Deferreds情况下,jQuery.when立即触发其主延迟的failCallbacks。请注意,在这一点上,某些延期付款可能仍未解决。
我读这是FUNC1,FUNC2和FUNC3都会得到立即解雇,并返回将处理调用适当的回调函数主Deferred对象,但只要第1拒收(方式)检测fail()回调将立即触发。我对这个问题的理解是否正确或者是否存在我缺少的东西?
待办事项'FUNC1()','funct2()'和'FUNC3()''返回对象Deferred'?这些函数将在'$ .when()'被调用之前被调用,因为你自己调用它们。 –
是的,这只是一个假设,但假设他们都会返回一个承诺(),并且他们都将被解决。 – bittersweetryan