Если ваш реальный код структурирован таким образом, у вас есть проблема с попыткой получить доступ к данным, которые еще не были установлены . То, что ваш $.getJSON()
выше console.log()
, не означает, что вы получите ответ до того, как зарегистрируете значение данных.
Таким образом, ваша проблема не в объеме, а скорее во времени: представьте некоторую задержку на стороне сервера, и ваше решение также может привести к сбою.
Возможно, вам следует установить флаг, если ответ получен:
var data, dataReceived = false;
$.getJSON("panorama.json",function(json){
data = json.images[0].src;
dataReceived = true;
console.log(data);
});
// somwhere later
if (dataReceived) {
console.log(data);
} else {
// you could use setTimeout() or setInterval here to re-check
console.log("data not received yet");
}