如何顺序运行getJSON

时间:2015-06-22 09:20:55

标签: javascript jquery jsonp

我试图在我的网页上嵌入特定日期的天气预报。 除了我在测试页http://elhuracantango.com/pogoda上的代码之外我不能正常工作:

<script>
function b(date){
$.getJSON(url + apiKey + "/" + lati + "," + longi + ","+ date+ "?units=si&lang=ru&exclude=hourly&callback=?", 
function(data) {
 $('#weather').append(weekdays[dateobj.getDay()] + " : "+ data.daily.data[0].summary))
}
b("2015-06-25T12:00:00");
b("2015-06-26T12:00:00");
b("2015-06-27T12:00:00");
b("2015-06-28T12:00:00");
</script>

但网页上的预测并不总是按顺序显示。

1 个答案:

答案 0 :(得分:0)

它是一个异步操作,所以你无法保证哪一个会先返回结果。你必须使用回调/承诺来解决这个问题。

如果尝试在特定时间间隔更新天气。使用setInterval

例如:

function b(date){ 
  var result = // ajax call here.

  return result 
}


setInterval(function(){
     var html = b(new Date());
     $('#result').html(html);
}, 1000);