您的位置:首页 > 其它

函数内调用异步方法获数据,无法及时获取到赋值给返回值,解决

2018-03-09 13:05 477 查看
js默认是异步的,比如下载3张图片,你点击产生这个指令,但图片下载完可能是2秒之后,“下载完成”的提示消息也是在之后发送给你,相当于多线程
也就是你写了个函数,在里面请求一组数据,并尝试返回值,可能你函数走完了,请求的数据才拿到
比如:



解决方法:
用ajax,把同步设置成异步,再继续,就会走完这个再走下一步了 $.ajax({
url: '../static/json/all_xm.json',
type: 'GET',
dataType: "json",
async: false,//将异步设置为同步
success: function (result) {
datas = result['所有消费项目'];
alert(datas[0]);
},
error: function (xhr, status, error) {
alert("请求出错:" + xhr.status + "," + xhr.responseText);
},
complete: function (xhr, status) {
alert("Complete");
}
}); 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ajax 异步
相关文章推荐