Javascript 遍历数组时的错误处理
我是新手。我已经编写了一个简单的测试函数,它迭代一系列歌曲列表,并为每个列表尝试从Last.fm API获取专辑封面图像。如果不起作用,它应该在控制台中显示曲目和艺术家名称。但是,当我运行它时,它总是显示相同的艺术家/曲目对,即最后一个迭代的艺术家/曲目对,而不是触发错误的特定艺术家/曲目对。我不知道发生了什么事Javascript 遍历数组时的错误处理,javascript,jquery,error-handling,iteration,Javascript,Jquery,Error Handling,Iteration,我是新手。我已经编写了一个简单的测试函数,它迭代一系列歌曲列表,并为每个列表尝试从Last.fm API获取专辑封面图像。如果不起作用,它应该在控制台中显示曲目和艺术家名称。但是,当我运行它时,它总是显示相同的艺术家/曲目对,即最后一个迭代的艺术家/曲目对,而不是触发错误的特定艺术家/曲目对。我不知道发生了什么事 $(document).ready(function(){ array = [] for (var item in billboard) { var track = billboa
$(document).ready(function(){
array = []
for (var item in billboard) {
var track = billboard[item]['song'];
var artist = billboard[item]['artist'];
$.getJSON("http://ws.audioscrobbler.com/2.0/?method=track.getInfo&api_key=myAPIkey&artist=" + artist + "&track=" + track + "&format=json&callback=?", function(data) {
try{
image = data.track.album.image[2]['#text'];
}
catch (err) {
console.log(track + " - " artist);
}
});
}
});
var billboard = {
"7-12-1986": {"artist": "Simply Red", "song": "Holding Back The Years"},
"6-28-1986": {"artist": "Patti LaBelle ", "song": "On My Own"},
"7-5-1986": {"artist": "Billy Ocean", "song": "There'll Be Sad Songs (To Make You Cry)"},
.....
}
看看两者之间的区别
我认为在这种情况下,您应该使用循环的标准。Ahhh,看起来这是一个范围问题。我将其更改为:$document.readyfunction{array=[]用于billboard中的var项{var track=billboard[item]['song'];var artist=billboard[item]['artist'];getAlbumtrack,artist函数getAlbumtrack,artist{$.getJSON+artist+&track=+track+&format=json&callback=?,functiondata{try{image=data.track.album.image[2]['text'];}catch err{console.logartist+track+。。。