gpt4 book ai didi

javascript - 获取当前用户的加星标播放列表或库以及轨道/艺术家

转载 作者:行者123 更新时间:2023-12-03 12:36:52 26 4
gpt4 key购买 nike

我对此进行了大量研究,但找不到任何解决该特定主题的内容。

我想要获取当前用户库中的所有艺术家,甚至只是特定播放列表中的所有艺术家,例如“加星标”播放列表。

当我尝试进入播放列表中的艺术家或轨道时,我得到'undefined'

我做错了什么吗?

这是我用来显示库对象的一些基本 JavaScript,我得到的只是图像中的内容,但我不知道如何进入各个轨道和艺术家。有什么帮助吗?

require(['$api/models','$api/library'], function(models, library){
'use strict';
var Library = library.Library.forCurrentUser();
console.log(Library.starred);
});

这是我要返回的模型的图像:/image/lY3pT.png

最佳答案

情况比这稍微复杂一些。 Library.starredPlaylist延迟加载属性的对象。因此,您需要传递要加载的属性,在本例中为 tracks。由于轨道是 Collection然后你需要执行 Snapshot获得轨道后,您需要指定从轨道加载哪些属性。

以下代码用于从加星标的播放列表中获取所有轨道并打印出它们的名称和 uri:

require(['$api/models','$api/library'], function(models, library){
'use strict';
var Library = library.Library.forCurrentUser();
Library.starred.load('tracks').done(function(playlist) {
playlist.tracks.snapshot().done(function(tracks) {
var promises = [];
// we fetch all the tracks
for (var i = 0, l = tracks.length; i < l; i++) {
var track = tracks.get(i);
// fetch the information we need from the tracks
// e.g. uri and name
promises.push(track.load('uri', 'name'));
}

models.Promise.join(promises).done(function(tracksPromises) {
tracksPromises.forEach(function(tp) {
console.log(tp.uri + ' - ' + tp.name);
});
});
});
});
});

关于javascript - 获取当前用户的加星标播放列表或库以及轨道/艺术家,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23701809/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com