對不起,我和傢伙們似乎無法將我的頭圍繞在這一塊上,儘管我已經在線閱讀了各種場景。因此,這裏的情況:在迭代父循環之前返回AJAX數據
我有一個字符串數組稱爲recipientsList
對於數組中的每個字符串,我想打一個AJAX調用,將字符串作爲參數,然後返回從AJAX數據到我的回調函數。
我的代碼如下。發生的事情是,如果我在recipientsList
數組中有三個字符串,則我的expandDistributionList
函數會被調用3次,但直到我的.each完成迭代之後,代碼纔會從AJAX調用的成功部分中觸發。思考?
function expandDistributionList(emailAddress, cb) {
$.ajax({
url: "/expandDistributionList",
type: 'get',
dataType: 'json',
context: this,
data: {
distListName: emailAddress,
},
success: function(data) {
cb(data);
},
error: function() {
ace.search.mainframeErrorSignal = $.signal({
'message': 'Unable to expand distribution list.',
'addClass': 'error',
'sticky': true
});
}
});
}
recipientsList.each(function(item) {
expandDistributionList(item, function(data){
if(data...) {
//do some code here
}
else {
//do something else
}
});
});
嗯,不知道您怎麼以上代碼將解決AJAX調用。每次結束後完成的問題。你可以解釋嗎? – Leann
嗯,我不知道,我試着把我的一些代碼放在一個循環中工作正常。你會介意試試這個嗎? http://stackoverflow.com/a/7330771/1955342 – sylar