Как функционирует when ()?

Я посмотрел в Вашем API и в этом примере, но мне не удается понять Ваше использование хорошо.

var def1 = $.Deferred();
var def2 = $.Deferred();
var def3 = $.Deferred();

var p1 = def1.promise();
var p2 = def2.promise();
var p3 = def3.promise();


$.when(p1, p2, p3).done(function(rs1, rs2, rs3) {
  LOG('When complete: '+rs1+', '+rs2+', '+rs3); // Results are in the order of the promises, regardless of the order they resolved in
});

def1.resolve('foo');
def3.resolve('bar');

setTimeout(function() {
  def2.resolve('AJAX!'); // No output is sent until this one returns
}, 2000);


function LOG(msg) {
  $('#log').append('<p>'+msg+'</p>');
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="details">
  An example of using <tt>when()</tt> to wait for all promises
</div>
<div id="log"></div>

Кто-то знает, как оно функционирует?

6
задан 24.07.2019, 10:41
0 ответов