次のようなコードがあります。
jQuery.getJSON( "url/to/some/script.php", function( data ) {
var test = data.someValue;
console.log('This message should occur first');
});
console.log('this message should occur second');
// do things with data retrived above...
何が起こっているかというと、最初console.log
は2番目の後に実行されています。Ajax リクエストを作成するのに時間がかかっているためだと思いますが、完了せずにスクリプトを下に移動し続けることに気づいていませんでした。そのため、AJAX リクエストの結果として得られる変数は、この直後のコードで使用しようとすると「未定義」になります。
このような状況に対処する最善の方法は何でしょうか?