Javascript $。获取并保存全局变量

Javascript $。获取并保存全局变量,javascript,jquery,anonymous-function,Javascript,Jquery,Anonymous Function,这会打印出0,但我正试图将数据参数保存到全局变量a中。 我尝试了一个自调用函数,并使用第二个函数来设置a=data,但它们不起作用 老实说,我无法理解这一点。你需要有承诺: var a = 0; var requestStr ="https://api.flickr.com/services/rest/?method=flickr.interestingness.getList&format=json&nojsoncallback=1&per_page=20&ap

这会打印出0,但我正试图将
数据
参数保存到全局变量
a中。

我尝试了一个自调用函数,并使用第二个函数来设置
a=data
,但它们不起作用


老实说,我无法理解这一点。

你需要有承诺:

var a = 0;
var requestStr ="https://api.flickr.com/services/rest/?method=flickr.interestingness.getList&format=json&nojsoncallback=1&per_page=20&api_key=dc140afe3fd3a251c2fdf9dcd835be5c"; //flickr key.
$.get(requestStr, function(data){
    a = data;
});

console.log(a);
因为
$.get()
方法是异步调用,所以响应需要时间,js代码的执行也需要执行


除此之外,您可能还想看看
$console.log(a)之后调用code>,因为从web获取数据需要时间

当数据实际到达时,您需要处理数据:

$.get(requestStr, function(data){
    a = data;
}).always(function(){
    console.log(a);
});

无论您想对
数据执行什么操作
都应该在
$.get()
回调之后执行。
var a = 0;
var requestStr ="https://api.flickr.com/services/rest/?method=flickr.interestingness.getList&format=json&nojsoncallback=1&per_page=20&api_key=dc140afe3fd3a251c2fdf9dcd835be5c"; //flickr key.
$.get(requestStr, function(data){
    a = data;
    console.log(a);
});