あなたの都市の場所が決まる簡単な関数を書いた。しかし、関数がgetJSONを待ってから次のコード行に移動するように強制する方法があるのでしょうか?この例では、「Alert 1」が「Alert 2」をスキップして「Alert 3」に直接移動し、「Alert 2」が表示されていることがわかります。前もって感謝します。残りのコードを実行する前にgetJSONを待機させる方法は?
敬具、 ジョージ
var Alpha;
function Location(){
\t alert(Alpha + " 1");
\t $.getJSON("http://freegeoip.net/json/?callback=?", function(location){
\t \t Alpha = location.city;
\t \t alert(Alpha + " 2");
\t }); \t
\t alert(Alpha + " 3");
}
$(document).ready(function() {
\t Location();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
約束事やコールバックを扱うことができます。 getJSONはコードのasyncronです。 – DomeTune
あなたはコールバックにそのコードを移動してみませんか? – Milney