js调用百度地图api 坐标解析地址回调如何等它执行完毕?

需求:列表数据返回的gps坐标然后拿到gps坐标去解析地址
我试过用promise异步方法 无法等百度回调完成
我写了一个线上demo
希望路过高手们帮我看看 下一步是怎么优化?

http://jsrun.net/LnyKp/edit

阅读 3k
1 个回答

没大说明白你要干嘛,是要这种效果吗

getAddress(index){
  let that=this;
  Promise.all(index.map(item=>{
    var geoc = new BMap.Geocoder()
    var point = new BMap.Point(item.lastLoc.lon, item.lastLoc.lat) // 更新后经纬度点
    return new Promise(r=>{
      geoc.getLocation(point, (rs) => {
        var addComp = rs.addressComponents // addressComponents对象可以获取到详细的地址信息
        var site = rs.address
          item.site = site;
          r(site)
      })
    })
  })).then(function(posts){
    that.address = posts;
    console.log(that.address,index.length-1)
    that.listData = index;
  })
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题