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
}