StackOverflow에 대한 훌륭한 참고 자료에 따르면 $.get
요청이 완료된 후에 $.when()
을 사용하여 일부 이벤트를 트리거하는 것으로 알고 있습니다.AJAX .get 호출에 변수 할당하기
그러나 $.get
이 for 루프 안에 있다면 어떻게 될까요?
var d = Array(5);
for (i = 0; i < 5; i++) {
d[0] = $.get()...
}
$.when(d).done(function(a){
...
}
을하지만이 작동하지 않습니다
for (i = 0; i < 5; i++) {
$.get()...
}
$.when().done(function(a){
}
그래서 나는 배열에 각 변수를 할당 할 거라 생각 했어요. 제안 할 대안이 있습니까? 아니면 내가 옳은 것을하기 위해 뭔가를하고 있는가?
나는 이것을 시도했다. 'requests.push'를 넣으면 모든'$ .get' 요청이 실행됩니다. 그래서 모든 요청은'$ .when'에 도착할 때까지 이루어 지므로'.then'은 절대 실행되지 않습니다. – Rio
@ 리오 - 약속이 작동하는 방식이 아닙니다. '.then'은 모든 약속이 이미 해결되었거나 미래의 어떤 시점에서 해결 될 것인지에 관계없이 해결됩니다. '.then'이 결코 발생하지 않는다면, 아마도 그것들 모두가 해결되지 않았기 때문일 것입니다 (아마 하나 또는 그 이상이 실패했을 것입니다). 또한, 그들은 물론 당신이 그들을 만들 자마자 그들의 요구를합니다. 당신은 그들이 언제 그 요청을하기를 원합니까? – Adam
네 말이 맞아. 그 중 하나가 실패했습니다. 실패를 피하고 계속해서 실패 할 수있는 방법이 있습니까? – Rio