小程序
小游戏
企业微信
微信支付
扫描小程序码分享
先说下做了一个信息发布的小程序,需要自动定位显示当前区域的信息,在onload 中 用wx.getLocation定位到当前区域,再执行wx.request查询信息。
问题: 在wx.getLocation还没有执行返回数据之前,wx.request已经执行完毕
1 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
wx.getLocation是异步函数啊,把 wx.request 放到 wx.getLocation的complete回调里
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
谢谢您的回答
放在wx.getLocation中是可以实现的,麻烦再问下
比如index页面中的onload中的 wx.getLocation, onload 只执行一次,如果在index2中发布一条新的信息,再次返回index页面,新的数据是不会刷新的
如果放在onshow中 , 那么 wx.getLocation 会重新定位,例如我在北京,想发布一条上海的信息,再次返回的话 ,又会定位到北京
let isInit = false
Page({
onLoad(){
if(!isInit){
wx.getLocation(xx,xx,()=>{
isInit = true
wx.request()
})
}
},
onShow(){
if(!isInit)return
isIni 是自己定义的吗?
对啊,定义在Page外,你这种情况,也可以在 onLoad的时候定义在 this里 this.isInit = false
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
wx.getLocation是异步函数啊,把 wx.request 放到 wx.getLocation的complete回调里
谢谢您的回答
放在wx.getLocation中是可以实现的,麻烦再问下
比如index页面中的onload中的 wx.getLocation, onload 只执行一次,如果在index2中发布一条新的信息,再次返回index页面,新的数据是不会刷新的
如果放在onshow中 , 那么 wx.getLocation 会重新定位,例如我在北京,想发布一条上海的信息,再次返回的话 ,又会定位到北京
let isInit = false
Page({
onLoad(){
if(!isInit){
wx.getLocation(xx,xx,()=>{
isInit = true
wx.request()
})
}
},
onShow(){
if(!isInit)return
wx.request()
}
})
isIni 是自己定义的吗?
对啊,定义在Page外,你这种情况,也可以在 onLoad的时候定义在 this里 this.isInit = false