我正在尝试读取函数之外的变量。我正在使用API进行国家检测并查找JSON提要。我得到的结果很好,但我希望能够在函数之外使用这个结果并且我已尽力了,但无法理解如何解决这个问题。我的代码尝试到目前为止。
var country; // defining country outside of function.
jQuery.getJSON('https://api.wipmania.com/jsonp?callback=?', function (data) {
var country = data.address.country;
console.log(country) // this returns correct result
}); // end location country check function
console.log(country) // This is reading undefined as is not picking up the new var = country resulted from above function.
如何在函数外部使用新的结果国家/地区变量?
谢谢
答案 0 :(得分:4)
getJSON
以异步方式工作。
在回调之前调用最后一个console.log
。
答案 1 :(得分:1)
当您声明var country
时,您正在影响全局country
。正如CD ..指出getJSON
是异步的,所以你需要在使用之前检查它是否已经设置
var country; // defining country outside of function.
jQuery.getJSON('https://api.wipmania.com/jsonp?callback=?', function (data) {
country = data.address.country;
console.log(country) // this returns correct result
}); // end location country check function
console.log(country || "No country set yet, check back soon!");