2017-10-03 2 views
0

나는 jquery를 사용하고 있으며 두 개의 변수가 있습니다.

trackFeatures - 단일 아약스 요청, artistRequests - 아약스의 배열 내가 trackFeatures과 artistRequests 모두 완료 할 때 무언가를 할

요청합니다. 아티스트의 요청에 대해서 다음과 같이 할 수 있습니다.

$.when.apply($, artistRequests).done(function() { ... } 

단일 요청을 배열 요청과 결합하는 방법이 있습니까? 단일 요청을 배열에 추가하거나 순차적으로 테스트합니다.

덕분에이 link 예를 참조

답변

1

:

var d1 = $.Deferred(); 
 
var d2 = $.Deferred(); 
 
    
 
$.when(d1, d2).done(function (v1, v2) { 
 
    console.log(v1); // "Fish" 
 
    console.log(v2); // "Pizza" 
 
}); 
 
    
 
d1.resolve("Fish"); 
 
d2.resolve("Pizza");

마찬가지로

당신이 artistRequests = [d1,d2]

처럼 약속의 배열이있는 경우가

같은 배열 확산 연산자를 사용할 수 있습니다

PS

$.when(trackFeatures , ...artistRequests).done(function (v1, v2) { 
 
    console.log(v1); // "Fish" 
 
    console.log(v2); // "Pizza" 
 
});
: ...artistRequests 단일 변수 어레이의 각 값을 분할.

+0

마치 artistRequests를 자체 인수 인 것처럼 사용할 수있는 것처럼 보입니다. ** $. when (trackFeatures, ... artistRequests) .done (function() {...} ** is 고마워! – Jimmy