-1
동적으로 결정되는 ajax 호출 목록을 하나씩 만들어야합니다. 약속은 모든 브라우저에서 동등하게 구현되지 않기 때문에 이전에 완료된 후에 각 아약스 호출을 수행 할 수있는 방법이 있습니까?순서대로 ajax 호출을 실행하십시오.
var favoritesArray = [1,2,3] //dynamically created by user
var arrayOfCalls = $.each(favoritesArray, function each(idx) {
var favId = favoritesArray[idx];
return $.ajax({ url: '/favorites/' + favId, type: 'DELETE' });
});
$.when(arrayOfCalls)
.then(function success() {
doStuff();
});
모든 호출이 실행되지만 완료 이전 기다리지 않습니다
이 나는 노력했다. 그것을 성취 할 수있는 방법이 있습니까?
왜 걱정하는지 잘 모르시겠습니까? 이들 중 어느 것도 이전 것에 의존하지 않는 것으로 보입니다. '$ .when'은 일관성있는 크로스 브라우저가 될 것이지만'$ .each'에서 아무것도 반환되지 않으므로'arrayOfCalls'은 정의되지 않을 것입니다. – charlietfl
각 호출은 동일한 목록을 업데이트하고 동시에 호출이 해고되면, 목록은 처음에 완료 한 내용에 따라 정확하지 않을 것입니다. – ebbishop
$ .each에 대한 메모 주셔서 감사합니다. – ebbishop