0

假设我们只有一个承诺对象,如下所示。

var myPromise = $.get(url1); 
myPromise.done(function(data){ 
    console.log(data); 
}); 

我们能够从承诺对象访问数据。现在假设,我们已经通过$。当

var multiplePromises = $.when($.get(url1),$.get(url2),$.get(url3)); 
multiplePromises.done(function(){ 

}); 

解决多个承诺对象的上述要求已得到满足,也就是说,只有当所有的GET请求完成后,做了一部分应该得到执行。但是,如何从$ .when.done()方法中分别得到来自每个get的数据响应?

+1

你阅读[文件](https://api.jquery.com/jQuery.when/)? *“传递给doneCallbacks的参数为每个Deferreds提供解析值,并将Deferreds传递给jQuery.when()的顺序进行匹配。”​​ –

回答

1

您将它们作为参数。

function get(what) { 
 
    return $.when(what) 
 
} 
 

 
$.when(get(1), get(2), get(3)).done(function(first, second, third) { 
 
    console.log(first, second, third) 
 
})
<script src="https://unpkg.com/[email protected]/dist/jquery.js"></script>

相关问题