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