2 개체가 ajax 함수의 콜백의 결과로 반환 된 후 무언가를 수행하는 프로 시저를 작성하려고합니다. 아약스 기능의 실행에, 나는 경우에 원할 때 Jquery ajax 콜백 호출에서 지연된
$.when($.get("http://localhost:3000/url1"),
$.get("http://localhost:3000/url2").done(//do something));
하지만 내 경우에는
, 내가 트리거하지 않습니다 나는() 할 때 jQuery를 사용하는 고전적인 예를 알고 ajax 함수를 실행하여 콜백에서 트리거합니다. 예 :$.get("http://localhost:3000/url1", function(data){
function(){
//do something with the data, and return myobj1;
}
});
$.get("http://localhost:3000/url2", function(data){
function(){
//do something with the data, and return myobj2;
}
});
$.when(obj1, obj2).done(function(){
//do something with these 2 objects
});
물론 작동하지 않습니다. 아이디어?
예, 게시 한 작품. 그러나 문제는 $ .get 함수가 돌아 왔을 때 언제 시작되는지, 위에서 언급 한 경우 $ .get 요청마다 콜백이 발생하며이 콜백이 처리되기를 기다리지 않는다는 것입니다. $ .get 함수가 끝나자. 그래서 언제 일찍 발포합니다. –
@RyanOgle 어떤 이유로 든 응답을 처리 할 수 없다면, 자신의 지연을 만들어이를 사용할 수 있습니다. 예제로 답변을 업데이트했습니다. – Trevor
@ Trevor 여기에 뭔가 빠져 있어야합니다. 추가 된 예제에서 2 지연이 해결 될 때까지 트리거하지 않아야 할 때()입니까? 나는이 일을하지 않았다. 이 간단한 예제를 살펴보십시오. http://jsfiddle.net/ax4u4/ 지연된 오브젝트가 해결되지 않아도 when()이 트리거됩니다. –