刚开始写了同步获取数据的方式,后来发现若是数据量大,前端界面会卡住,直到返回数据才会作下一步操做。javascript
function getcode(code) { var url = "http://......"; $.ajaxSettings.async = false;//设置为同步 $.get(url + code, function(data, status) { dd = data; }); return dd; }
因而将请求改成异步前端
function getCode() { var defer = $.Deferred();//jquery的一个方法 $.ajax({ // url: 'http://.....', success: function(data) { defer.resolve(data) } }); return defer.promise();//返回的是promise对象 } getCode().then(//经过promise对象的.then回调函数拿到数据 function(code) { console.log(code); //此处能够直接输出数据,或者将须要使用该数据的方法写在函数内,但不能将此数据返回给调用者!!!! });
这样就不会致使页面在加载数据的时候堵塞了。java