如果我通过Chrome控制台全部运行此脚本,则会收到错误消息
Uncaught TypeError:无法读取未定义的属性“播放列表”
var owner = "yamusic-trending"
var kind = "1000"
var url = `https://music.yandex.ru/handlers/playlist.jsx?owner=${owner}&kinds=${kind}&light=false`
json = $.getJSON(url)
var tracks = json.responseJSON["playlist"]['tracks']
如果逐行
json = $.getJSON(url)
接着
var tracks = json.responseJSON["playlist"]['tracks']
错误不是。为什么?
最佳答案
$.getJSON
是异步调用,您需要等待直到完成。如果任何操作取决于此调用返回的结果,则应在回调函数中进行处理。
见下面的代码
ES5
$.getJSON(url, function(data){
var tracks = data.responseJSON["playlist"]['tracks']
});
ES6
$.getJSON(url, json => {
var tracks = json.responseJSON["playlist"]['tracks']
});
getJSON API Documentation
关于javascript - 为什么脚本逐行工作,但不能整体工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58994421/