您的位置:首页技术文章
文章详情页

javascript - 微信小程序封装定位问题(封装异步并可能多次请求)

【字号: 日期:2022-06-24 16:46:39浏览:58作者:猪猪

问题描述

javascript - 微信小程序封装定位问题(封装异步并可能多次请求)

当首次成功定位或者定位失败点击取消按钮是没有问题,能接收到then里面的回调或者是取消定位catch里面的函数,但定位失败点击重新定位进行对getLocation进行重新调用,是会重新new promise的,但这时的resolve或者reject就不能成功了,报错提示

javascript - 微信小程序封装定位问题(封装异步并可能多次请求)

这个意思是没有catch做首次请求的错误处理吗?这时候我就把他修改为

javascript - 微信小程序封装定位问题(封装异步并可能多次请求)

让他先处理完错误再重新调用,这时不执行catch里面的方法。请问该怎么处理。让第二次执行resolve或者reject

跟这种虽然不是异步,但实现原理跟性质好像一样,这样又是可以返回第二次的resolve或者reject

javascript - 微信小程序封装定位问题(封装异步并可能多次请求)

javascript - 微信小程序封装定位问题(封装异步并可能多次请求)

问题解答

回答1:

看代码,感觉是因为你的第一个promise没有进行决议,然后通过调用getLocation()又开始启用了另一个promise,所以会报错吧。我理解的你要实现的就是在promise中要递归的调用自身。你可以搜搜promise递归调用相关问题。

标签: 微信
相关文章: