【黄啊码】小程序:九宫格抽奖如何实现?可控制抽奖率

如果让你用微信小程序获取经纬度,然后在后台计算距离,返回数据

一般人的逻辑就是:getLocation之后直接request

然而,当你request后才发现,根本没有弹窗,what?为什么?

因为获取经纬度需要调用腾讯接口,接口的返回也需要时间,所以我们需要用Promise进行异步调用,接收返回值后才能request,例子如下,废话不多说,有问题百度黄啊码

var p = new Promise(function (resolve, reject) {
      wx.getLocation({
        isHighAccuracy:true,
        highAccuracyExpireTime:3000,
        type:'gcz02',
        success (res) {
          let latitude=res.latitude;
          let longitude=res.longitude;
          resolve({latitude,longitude});
        },fail(res){
          let latitude='';
          let longitude='';          
          resolve({latitude,longitude});
        }
      });
    });
    p.then(function (datas) {
      wx.request({
        url: config.api+'/api/XXX/XXXX', 
        method:'POST',
        data: {
          latitude:datas.latitude,
          longitude:datas.longitude
        },
        header: { 'content-type': 'application/json' // 默认值
        },
        success (res) {
        if(res.data.code == 0){
            wx.showModal({
              title: '提示',
              content: res.data.message,
            })
        }
          else{
            wx.showModal({
              title: '提示',
              content: res.data.message,
            })
          return false
        }
        }
      })
    })
  },
posted @ 2021-12-28 16:52  黄啊码  阅读(227)  评论(0)    收藏  举报