Javascript Spotify Web API-以最快/最轻的方式获取所有请求项,且有限制
此时,我正在尝试获取播放列表中的所有曲目(或来自用户的所有播放列表)。Spotify Web API不允许一次从一个播放列表中获取超过100首曲目(对于其他场景,则为50首播放列表)。Spotify Web API的数据包含播放列表中的曲目总数。此时,我正在使用while循环获取所有轨迹,但速度惊人地慢 所以我在想,也许有人能帮我加快速度 我目前拥有的while循环如下:Javascript Spotify Web API-以最快/最轻的方式获取所有请求项,且有限制,javascript,angularjs,spotify,Javascript,Angularjs,Spotify,此时,我正在尝试获取播放列表中的所有曲目(或来自用户的所有播放列表)。Spotify Web API不允许一次从一个播放列表中获取超过100首曲目(对于其他场景,则为50首播放列表)。Spotify Web API的数据包含播放列表中的曲目总数。此时,我正在使用while循环获取所有轨迹,但速度惊人地慢 所以我在想,也许有人能帮我加快速度 我目前拥有的while循环如下: let currentOffset = 50; while(playlists.total > currentOffs
let currentOffset = 50;
while(playlists.total > currentOffset) {
$http.get(`https://api.spotify.com/v1/me/playlists?limit=50&offset=${currentOffset}`, {
headers: {
Authorization: `Bearer ${$rootScope.accessToken}`,
Accept: 'application/json'
}
}).then((response) => {
response.data.items.forEach(function (playlistItem) {
if (playlistItem.owner.id == user.data.id || playlistItem.collaborative) {
$scope.tempUserPlaylists.push(playlistItem);
}
});
if((response.data.offset + response.data.limit) >= response.data.total) {
$scope.userPlaylists = $scope.tempUserPlaylists;
$timeout(() => {
const playListContainer = $(".playlist-container");
playListContainer.offset();
playListContainer.css({
display: "initial",
transform: "scaleY(1)"
});
}, 0);
}
}, (error) => {
console.log(error);
});
currentOffset+=50;
}
另外,我在$(“.playlist container”)
上有一个动画,但动画非常滞后,我想这是因为while循环很慢,但我不确定
提前感谢所有帮助我的人 当你可以异步的时候,为什么要同步呢?好问题,哈哈