아약스 대기열 요청에 대한 해결책이 많이 있지만이 경우에 구현하는 방법을 이해하려고합니다. 그것은 푸시 시프트 큐?다른 ajax 요청을 적절하게 대기열에 넣기
var urlList = ['urlA', 'urlB', 'urlC', ...];
function initSession() {
for (var i = 0; i < urlList.length; i++) {
getResponse(urlList[i]); // this is what I would like to queue.
}
}
function getResponse(theURL) {
steps.shuffleLetters({
"text": messages[mesInd]
});
$.ajax({
method: 'GET',
url: theURL,
dataType: 'text',
success: function(data) {
setTimeout(function() {
steps.shuffleLetters({
"text": data
});
}, 1000);
mesInd = mesInd + 1;
},
error: function(data) {
setTimeout(function() {
steps.shuffleLetters({
"text": "Click Again!"
});
}, 1000);
mesInd = 0;
}
});
}
'$ .ajax'는 약속을 반환합니다. 나는 그 길로 갈 것 같아. –
@ kevinSpaceyIsKeyser 반환 된 객체는 Promise와 같은 역할을하지만 하나가 아닙니다. _ "jQuery 1.5에서'$ .ajax() '에 의해 반환 된 jqXHR 객체는 Promise 인터페이스를 구현하여 모든 속성, 메소드 및 메서드를 제공합니다. 약속의 행동 "_ – Andreas
@ 앙드레아스는 힌트를 주셔서 감사합니다. 그것은 조금 nitpicking :)? –