问题描述,前端列表展示,通过返回经纬度然后调百度API方法获得地址,但是百度的API通通是异步回调,本来返回的数据是按时间排序的,造成的结果是渲染后时间顺序被打乱,我尝试修改调用方法想改成同步加载,失败,然后就用递归函数解决了,不知道还有没有更好的方法。
-----------------------粘贴代码--------------------------------------------
var items = data.items;//ajax返回列表数据
var index = 0;
var length = data.items.length;
var addLi = function(){
if (!length) {return false;}
var _li;
var point = new BMap.Point(items[index].longitude,items[index].latitude);//定义百度坐标点,参数是经纬度
var gc = new BMap.Geocoder();//定义 geocoder对象
gc.getLocation(point,function(rs){//异步加载回调函数
var address;
if (rs.address) {
address = rs.address+','+rs.business;
}else{
address='';