如果我全部通过 Chrome 控制台运行此脚本 - 我会收到错误
Uncaught TypeError: Cannot read property 'playlist' of undefined
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']
按 if 逐行
json = $.getJSON(url)
然后
var tracks = json.responseJSON["playlist"]['tracks']
错误不是。为什么?
最佳答案
由于 $.getJSON
是一个异步函数
,因此您必须在完成后对其进行处理,以下是使用回调的示例:
$.getJSON(url, json => {
var tracks = json.responseJSON["playlist"]['tracks']
// do something with tracks here...
})
了解有关 $.getJSON
的更多信息 here ,并阅读有关异步 javascript 如何工作的更多信息 here
关于javascript - 为什么脚本可以一行一行地运行,但不能作为一个整体运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58994421/