我正在尝试在本机 spotify 列表中显示当前用户播放列表的列表。
我有这个来获取用户播放列表:
require([
'$api/models',
'$views/list#List',
'$api/library#Library'
], function(models, List, Library) {
'use strict';
var UsersLibrary = Library.forCurrentUser();
var test = function()
{
console.log(UsersLibrary.playlists);
var playlists = UsersLibrary.playlists.snapshot().done(function(s){
var length = s.length;
for(var x = 0; x < length; x++)
{
var meta = s._meta[x];
if(!meta.name) continue ; // skip folders
}
});
};
exports.test = test;
});
我可以循环播放列表没问题。当我尝试使用 spotify List 对象并创建一个列表时,问题就开始了。我尝试了这个(以及一些具有相同结果的变体):
var test = function()
{
console.log(UsersLibrary.playlists);
var playlists = UsersLibrary.playlists.snapshot().done(function(s){
var list = List.forCollection(s._collection, {"layout":'table'});
});
};
只要我调用 .forCollection 我就会得到 .forCollection Uncaught TypeError: Cannot call method 'indexOf' of null
。
经过一段时间的调试后,我发现当其中一个 spotify API 脚本尝试访问uri
未定义的集合上的字段时,问题就出现了。
还有其他方法可以解决这个问题或我缺少什么吗?我在想用户播放列表会有一个 uri,但我找不到任何东西。
谢谢,
-肯