【发布时间】:2014-09-09 15:04:29
【问题描述】:
我目前正在使用 LastFM API 并尝试在通过 Spotify 和 iTunes 播放曲目时更新最近播放的曲目列表。我已经通过 JS 和 Handlebars 的组合获得了初始代码,以便在页面加载时加载静态曲目列表,该列表在页面加载时是最新的。
但是,我希望在不刷新页面的情况下选择新曲目时更新列表。所以我想我可以使用 setInterval 函数每隔 5 秒左右调用一次我的原始函数。但是由于某种原因,我的 setInterval 函数只在页面加载时运行一次。
我知道这是一个非常简单的错误,但我不知道为什么?救命!!
var clientname = {};
clientname.website = (function(){
var
initPlugins = function(){
var setupLastFM = (function(){
/* Create a cache object */
var cache = new LastFMCache(),
/* Create a LastFM object */
lastfm = new LastFM({
apiKey : '6db1989bd348bf91797bad802c6645d8',
apiSecret : '155270f02728b1936ed7699e9f7b8de9',
cache : cache
}),
attachTemplate = function(data, handlebarsTemplateID){
var template = Handlebars.compile(handlebarsTemplateID.html());
$(".container").append(template(data));
}
/* Load some artist info. */
lastfm.user.getRecentTracks({user: 'jimmersjukebox'}, {
success: function(data){
var trackData = data.recenttracks.track,
tracks = $.map(trackData, function(track) {
if(track['@attr']){
var isCurrentTrack = true;
}
return {
currenttrack: isCurrentTrack,
song: track.name,
artist: track.artist['#text']
};
});
attachTemplate(tracks, $("#trackInfo"));
}, error: function(code, message){
}}),
intervalID = window.setInterval(console.log("test"), 1000);
}());
}
return{
init: function(){
initPlugins();
}
};
})();
$(window).load(clientname.website.init);
【问题讨论】: