收藏
回答

wx.request 问题

先说下做了一个信息发布的小程序,需要自动定位显示当前区域的信息,在onload 中 用wx.getLocation定位到当前区域,再执行wx.request查询信息。



问题: 在wx.getLocation还没有执行返回数据之前,wx.request已经执行完毕



回答关注问题邀请回答
收藏

1 个回答

  • 卢霄霄
    卢霄霄
    2018-07-05

    wx.getLocation是异步函数啊,把 wx.request 放到 wx.getLocation的complete回调里

    2018-07-05
    有用
    回复 4
    • ㄨ℉ωιFι℅`
      ㄨ℉ωιFι℅`
      2018-07-05

      谢谢您的回答


      放在wx.getLocation中是可以实现的,麻烦再问下

      比如index页面中的onload中的 wx.getLocation, onload 只执行一次,如果在index2中发布一条新的信息,再次返回index页面,新的数据是不会刷新的

      如果放在onshow中 , 那么 wx.getLocation 会重新定位,例如我在北京,想发布一条上海的信息,再次返回的话 ,又会定位到北京

      2018-07-05
      回复
    • 卢霄霄
      卢霄霄
      2018-07-05回复ㄨ℉ωιFι℅`

      let isInit = false

      Page({

      onLoad(){

      if(!isInit){

      wx.getLocation(xx,xx,()=>{

      isInit = true

      wx.request()

      })

      }

      },

      onShow(){

      if(!isInit)return

      wx.request()

      }

      })


      2018-07-05
      回复
    • ㄨ℉ωιFι℅`
      ㄨ℉ωιFι℅`
      2018-07-05回复卢霄霄

      isIni  是自己定义的吗?

      2018-07-05
      回复
    • 卢霄霄
      卢霄霄
      2018-07-05回复ㄨ℉ωιFι℅`

      对啊,定义在Page外,你这种情况,也可以在 onLoad的时候定义在 this里 this.isInit = false

      2018-07-05
      回复
登录 后发表内容