クロム開発ツールに基づいてブレークポイント私は把握できる範囲の問題を扱っていると思います。それは私が関数を定義する方法ですか?以下のスクリプトはインクルードjsファイルと配列の 'timeStamp'です。毎回loadData関数を呼び出すことなく、他の関数で使用できるようにしたいと考えています。範囲外のjavascript
timeStamp配列は、関数を終了する前にforループを離れると、未定義になります。
var timeStamp = []; // Want this array to be global
function loadData (url){
$.getJSON(url, function(json) {
for (var i=0;i<json.length;i++){
timeStamp.push(json[i].TimeStamp);
}
console.log(inputBITS); //returns the value
});
console.log(inputBITS); //undefined
}
問題がgetJSON
が非同期であるということであるように見えますanyhelp
ありがとうございます。成功ハンドラをチェックアウトしようとしています。 – rd42
@ rd42 - 既に成功ハンドラがあります。これは、getJSON呼び出しの第2引数として宣言されている無名関数です。これは、ajax呼び出しが正常に終了したときに呼び出される関数です。これは、Ajaxネットワーキングが完了した後、しばらくして呼び出されます。 – jfriend00
私は少し混乱しています。両方のconsole.logs()は関数内にありますが、1つだけが定義され、2番目のconsole.log()は配列がロードされるまで呼び出されません。 – rd42