首页  >  问答  >  正文

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

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

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

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

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

巴扎黑巴扎黑2694 天前770

全部回复(1)我来回复

  • 天蓬老师

    天蓬老师2017-06-26 10:59:02

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

    回复
    0
  • 取消回复