我正在使用soundCloud json播放用户收藏的歌曲。
你可以在这里看到
我可以访问我的收藏夹曲目但我无法访问用户ID和用户名。
这里我使用的代码返回我最喜欢的属性,并且我已经评论了无法返回用户属性的代码。
我在控制台中收到此错误"未捕获TypeError:item.user.forEach不是函数"
我做错了什么?它是访问我的用户属性的正确方法吗?
model: function(params) {
var artist, favoriteListProxy, self;
self = this;
artist = params.artist;
this.controllerFor('application').set('artistName', artist);
favoriteListProxy = Ember.ArrayProxy.create({
content: []
});
return new Ember.RSVP.Promise(function(resolve, reject) {
return SC.get("/users/" + 'mannaio' + "/favorites", {limit: 40}, function(favorites) {
if (favorites.length) {
favorites.forEach(function(item, index, arr){
var favorite;
favorite = self.createFavoritelist(item, favoriteListProxy);
// return item.user.forEach(function(user, index, arr){
// return user = self.createUser(user, favorite);
// });
});
favorites = favoriteListProxy.get('content')
return resolve(favorites);
}
});
});
},
createFavoritelist: function(favorite, arr) {
var record;
record = this.store.createRecord('favorite', {});
record.setProperties({
id: favorite.id,
title: favorite.title,
artwork_url: favorite.artwork_url,
genre: favorite.genre
});
arr.pushObject(record);
return record;
},
// createUser: function(user, favorite) {
// var record;
// record = this.store.createRecord('user', {});
// record.setProperties(user).set('favorite', favorite);
// return record;
// },
答案 0 :(得分:5)
在我看来,item.user
是Object
而不是Array
。因此,它没有forEach
方法。
所以试试:
return self.createUser(item.user, favorite);