实现一个小demo的时候,需要发送ajax请求,并且把返回回来的数据作为全局变量进行使用。
第一次尝试的时候,使用了直接定义一个全局变量,直接进行赋值,会输出undefined,因为执行顺序是异步的,所以会没传输回来就输出了。
因此采用函数的return的作用 代码如下:
注意设置异步 然后return的作用就好
var test = (function () {
let result;
$.ajax({
type: 'get',
url: 'http://apixyz/api/public/v1/home/swiperdata',
dataType: 'json',
async:false,
success: (response) => {
result = response;
console.log(result,1)
}
})
console.log(result,2)
return result;
})();
console.log(test,'test1');