【黄啊码】微信小程序调用经纬度后弹窗失败

举报
黄啊码 发表于 2022/06/28 22:02:55 2022/06/28
【摘要】  如果让你用微信小程序获取经纬度,然后在后台计算距离,返回数据 一般人的逻辑就是:getLocation之后直接request 然而,当你request后才发现,根本没有弹窗,what?为什么? 因为获取经纬度需要调用腾讯接口,接口的返回也需要时间,所以我们需要用Promise进行异步调用,接收返回值后才能request...

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

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

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

因为获取经纬度需要调用腾讯接口,接口的返回也需要时间,所以我们需要用Promise进行异步调用,接收返回值后才能request,例子如下,废话不多说!看啥?进来扫码,一起玩代码石墨文档是一款轻便、简洁的在线协作文档工具,PC端和移动端全覆盖,支持多人同时对文档编辑和评论,让你与他人轻松完成协作撰稿、方案讨论、会议记录和资料共享等工作。https://shimo.im/docs/8PGqp3cHtwVxcTPp


  
  1. var p = new Promise(function (resolve, reject) {
  2. wx.getLocation({
  3. isHighAccuracy:true,
  4. highAccuracyExpireTime:3000,
  5. type:'gcz02',
  6. success (res) {
  7. let latitude=res.latitude;
  8. let longitude=res.longitude;
  9. resolve({latitude,longitude});
  10. },fail(res){
  11. let latitude='';
  12. let longitude='';
  13. resolve({latitude,longitude});
  14. }
  15. });
  16. });
  17. p.then(function (datas) {
  18. wx.request({
  19. url: config.api+'/api/XXX/XXXX',
  20. method:'POST',
  21. data: {
  22. latitude:datas.latitude,
  23. longitude:datas.longitude
  24. },
  25. header: { 'content-type': 'application/json' // 默认值
  26. },
  27. success (res) {
  28. if(res.data.code == 0){
  29. wx.showModal({
  30. title: '提示',
  31. content: res.data.message,
  32. })
  33. }
  34. else{
  35. wx.showModal({
  36. title: '提示',
  37. content: res.data.message,
  38. })
  39. return false
  40. }
  41. }
  42. })
  43. })
  44. },

文章来源: markwcm.blog.csdn.net,作者:黄啊码,版权归原作者所有,如需转载,请联系作者。

原文链接:markwcm.blog.csdn.net/article/details/122196958

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。