순차적으로 실행해야하지만 일련의 아약스 호출은 동 기적으로 실행하지 않아도됩니다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까?일련의 아약스 호출 연결하기
나는 당신이 $.when().then()
일 수 있지만 2 개의 ajax 호출에서만 작동한다는 것을 알고 있습니까? 그냥 같이 그들을 모두 '체인의'then
에 일련의 압정, 즉
var caller;
for (var i = 0; i < argObjects.length; i++) {
if (typeof caller === 'undefined') {
caller = $.when($.ajax(... data: argObjects[i]...));
}
else {
caller.then($.ajax(... data: argObjects[i]...));
}
}
: 이상적으로, 내가 좋아하는 뭔가를하고 싶네요. 그러나 이것은 불가능합니다. jQuery로 할 수있는 또 다른 방법이 있습니까?
이러한 호출은 동시에 실행할 수 없습니다. 나는 async: false
세트로 루프를 돌릴 수는 있지만, 좋지 않은 것을 처리하는 동안에는 사용자가 제어 할 수 없다.
하나의 호출로 모든 것을 전송하는 것이 대체 방법 일 수 있습니다.하지만 실행되는 동안 해당 작업의 진행 상태를 어떻게 모니터링합니까? 업데이트 할 데이터가 10 주 있다고 가정 할 때마다 매주 완료 될 때 알림을 받고 싶습니다. 내가 순차적으로 10 건의 아약스 호출을 보냈다면, 각각이 돌아와서 그것이 완료되었다고 말할 수 있고, 나는 어떤 종류의 진행 바를 업데이트 할 수있다. 여기는 궁극적 인 목표입니다.
나는 그동안 jQuery에서 지연된 문제를 해결하기 위해 계속 노력할 것입니다.
중간에 실패한 경우 나머지 요청을 계속 실행 하시겠습니까? – Dogbert
참조 : http://stackoverflow.com/questions/13250746/process-chain-of-functions-without-ui-block/13252018#13252018 – slebetman
@ 도그 버트 : 아니오, 그렇지 않을 것입니다. '성공'에서 전화를 묶는 것은 그것을 막는 것처럼 보일 것입니다. – Depressio