这是我的问题的描述:
我有一个数组,其中包含一些 flickr 照片集的 id。对于每个 id,我需要制作两个嵌套的 apiCalls(一个到 flickr photoset api,一个到 photoinfo api)并将一些 html 添加到我的页面
结构是:
for(var i=0; i<ARRAY_ID.length; i++){
$.getJSON(apiCall, function(data) {
// some processing here
$.getJSON(apiCall2,function(data){
//other processing here
每个“apiCall”都是一个字符串,其中包含对照片集 api (apiCall) 的正确调用,然后是对 photoInfo api (apiCall2) 的正确调用
在所有这些处理之后,在“apiCall2”块内,我将一些 html 附加到一个 div (这导致与 ARRAY_ID 长度一样多的块元素)。
我有奇怪的行为:所有附加的块元素都包含相同的文本、图片和链接。它以预期的数量将它们打印出来,但它们的内容都是相同的。我猜这是 for 循环不等待 $.getJSON 完成。我怎样才能做到这一点?我严格要求在处理下一个请求之前完成每个 json 请求!谢谢大家!