0
我正在編寫一個工具,它將通過id列表(由id_list
中的id表示)進行循環。我們檢查一個緩存對象,看看我們是否已經有了這個id的值。如果我們還沒有給定id的值,我們需要發出get
請求來獲取關聯值,然後將其添加到緩存中。異步獲取請求完成時僅繼續循環
在完成一個async
獲取請求所需的時間內,整個循環運行。這意味着緩存永遠不會被實際使用。無論如何,我可以要求get
請求在繼續循環之前完成?通常我會通過前面的onSuccess
函數連接請求,但由於有變化,不會提出請求。
cache = {};
var rating;
for (id in id_list){
if (id in cache){
rating = cache[id];
}else{
rating = $.get(~~~async get request happens here~~~);
cache[id] = rating;
}
$(".result").append(rating);//display result in ui
}