小编tam*_*ros的帖子

等待函数完成 - 执行是异步的(不按顺序)

在继续使用我的代码之前,我正在尝试获取用户的城市和国家/地区.似乎javascript没有按照我需要的顺序执行.

$(document).ready(function() {    
  var country, city = '';

  function geoData() {
    $.getJSON('http://ipinfo.io/json?callback=?', function (data) { 
      console.log('step 1');
      country = data.country;
      city = data.city;
      console.log('step 2');
    });
  };

  geoData();        
  console.log('step 3');

  /* rest of the code */
});
Run Code Online (Sandbox Code Playgroud)

我希望代码执行为:

step 1
step 2
step 3
Run Code Online (Sandbox Code Playgroud)

但是,当我运行脚本时,我得到:

step 3
step 1
step 2
Run Code Online (Sandbox Code Playgroud)

为什么代码以异步方式运行?有什么建议我可以解决它吗?

谢谢.

javascript jquery

7
推荐指数
1
解决办法
2万
查看次数

标签 统计

javascript ×1

jquery ×1