0

我正在努力添加一种在我的jQuery.JamCity中提取结果的方法。

现在,它用于getJSON从 Last.Fm 中提取 api 数据,$.each以解析该数据并输出。

我想让它每分钟检查一次新结果,并且IF有一个新项目data[0]来显示它,但是ELSE,不要做任何事情,因为我不想一直弹出最近的歌曲。

我该怎么做呢?我想我使用类似的东西,setInterval但我不完全明白它是如何工作的。关于如何实现此功能的任何代码示例或想法?

4

2 回答 2

1

这是一些可以执行此操作的起始代码:

var lastSong = null;
var fetch = function(){
   $.getJSON('....', function(data) {
       if(data.length) {
           currentSong = data[0].some_unique_id
           if(lastSong != currentSong){
              //put code here to play song
              lastSong = currentSong;
           }
       }  
       setTimeout(fetch, 1000 * 60);
   });
}
fetch();
于 2012-05-15T15:43:57.090 回答
0

setInterval以毫秒为单位的函数和超时间隔(x)作为输入。一旦指定了设置间隔,x 毫秒后将调用该函数。

https://developer.mozilla.org/en/DOM/window.setInterval

这确实是您想要编写此功能的方式。只需创建一个函数,调用getJSON以 60000(一分钟)的间隔获取数据。

调用getJSON返回后,相应地处理数据,以查看结果是否与上次调用函数时发生了变化。

于 2012-05-15T15:43:52.470 回答