我正在努力为jQuery.JamCity添加一种提取结果的方法。
现在,它使用getJSON
从Last.Fm中提取每个$.each
的api数据来解析该数据并将其输出。
我想做到这一点,以便它每隔一分钟检查一次新结果IF
data[0]
中有一个新项目显示它ELSE
,不要做任何事情,因为我不想只是保持最近的歌曲弹出。
我将如何做到这一点?我想我使用setInterval
这样的东西,但我不完全了解它是如何工作的。有关如何实现此功能的任何代码示例或想法?
答案 0 :(得分: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();
答案 1 :(得分:0)
setInterval
采用函数和超时间隔(x)(以毫秒为单位),与输入相同。一旦指定了设置间隔,在x毫秒之后将调用该函数。
https://developer.mozilla.org/en/DOM/window.setInterval
这确实是您想要编写此功能的方式。只需创建一个调用getJSON
的函数,即可以间隔60000(一分钟)获取数据。
在调用getJSON
之后,相应地处理数据以查看结果是否从上次调用函数时发生了变化。