jQuery の $.getJSON() 関数を使用して、JSON ファイルから取得したオブジェクトを含む JavaScript オブジェクトに配列を作成しようとしています。$.getJSON() 関数内で配列要素が設定されているように見えるスコープの問題が発生していますが、その外側では配列が空です。コードは次のとおりです。
function player(playlist){
...
var tracks = [];
this.start = function() {
...
$.getJSON(playlist, function(data){
$.each(data.tracks, function(key,value){
var track_info = function(info){return info}(value);
tracks.push(track_info);
});
console.log("from .getJSON function");
console.log(tracks);
});
console.log("outside .getJSON function");
console.log(tracks);
...
};
...
$(document).ready(function(){
var the_player = new player(playlist);
the_player.start();
)};
出力は次のとおりです。
outside .getJSON function
[]
from .getJSON function
[Object, Object, Object]
また、すべてのオブジェクトには、JSON ファイルからの正しいデータが含まれています。
私はこの問題について当惑しています。誰かが理解するのを手伝ってくれますか?