【发布时间】:2017-11-09 13:07:38
【问题描述】:
我看到了很多队列 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正在返回一个承诺。我认为这是要走的路。 -
@kevinSpaceyIsKeyserSöze 返回的对象的行为类似于
Promise,但不是一个:"从 jQuery 1.5 开始,$.ajax()返回的 jqXHR 对象实现了 Promise 接口,为它们提供了所有Promise 的属性、方法和行为" -
@Andreas 感谢您的提示。有点吹毛求疵:)?
标签: javascript ajax queue