如何阻止moveend锁定api调用导致的地图

时间:2017-06-20 13:36:34

标签: javascript leaflet vuejs2

我有一张只根据地图当前坐标显示标记的地图,我们通过外部API获取标记位置

  moveEnd (e) {
        // console.log(e.target)

    const map = this.$refs.map.mapObject
    const bound = map.getBounds()
    const minx = bound.getWest()
    const maxx = bound.getEast()
    const miny = bound.getSouth()
    const maxy = bound.getNorth()
    const zoom = map.getZoom()
    let cat = 2
    console.log(zoom)
    if (zoom <= 2) cat = 1
    else if (zoom >= 4) cat = 3

    const queryString = `?maxx=${maxx}&minx=${minx}&maxy=${maxy}&miny=${miny}&cat=${cat}`

 this.fetchPortsOnMap(queryString)
  }

fetchPortsOnMap是使用Axios获取标记的函数。

在api调用期间映射冻结/挂起的问题是因为它正在等待函数响应,我想要的是防止映射冻结并忽略是否有响应。

这是我的fetchPortsOnMap函数

  fetchPortsOnMap (queryString) {
        this.loadingFunc = true
        httpAuth().get('ports' + queryString)
          .then((response) => {
            this.loadingFunc = false
            this.ports = response.data
          })
      },

0 个答案:

没有答案