Я делаю приложение для Spotify. С этим приложением у меня есть простая функция «Подписаться», которая позволяет мне добавить список воспроизведения альбома из текущей дорожки, которую слушает пользователь. Все работает нормально. Хотя у меня есть этот баг. После прослушивания более 1 песни, когда я нажимаю кнопку подписки, он добавляет список воспроизведения для каждой прослушанной песни.
Например: я прослушал 3 песни из альбома, затем нажимаю подписаться: будут добавлены 3 плейлиста, для каждой песни по одному. Затем: если я затем послушаю песню из другого альбома, при нажатии кнопки «Подписаться» будет добавлен список воспроизведения для новой песни И для предыдущих 3 песен. Это продолжается до тех пор, пока я не перезагрузил приложение.
Кажется, он запоминает каждую прослушанную песню после загрузки приложения.
Это мой код:
функция подписки () {
//Cache important information
var playerTrackInfo = player.track;
var track = playerTrackInfo.data;
var albumUri = track.album.uri;
var albumTitle = track.album.name;
var artistFromAlbum = track.album.artist.name;
//Click event on button
$(".subscribe button").on("click", function(playlist){
console.log("I work!"); //Checks if button click works
//Creates new playlist "Albumtitle - Artistname"
var playlist = new models.Playlist(albumTitle+" - "+artistFromAlbum);
//Fills in playlist with album from current playing track
models.Album.fromURI(albumUri, function(album){
$(album.tracks).each(function(i) {
playlist.add(album.tracks[i]);
});
});
playlist.subscribed = true;
playlist.observe(models.EVENT.CHANGE, function() {
console.log("Playlist was subscribed!");
});
});
}
Мне нужен способ предотвратить эту проблему. Я пробовал много разных методов и бесконечно искал в Интернете, но пока безуспешно. Любая помощь или указание в правильном направлении будет потрясающим!