当首次成功定位或者定位失败点击取消按钮是没有问题,能接收到then里面的回调或者是取消定位catch里面的函数,但定位失败点击重新定位进行对getLocation进行重新调用,是会重新new promise的,但这时的resolve或者reject就不能成功了,报错提示
这个意思是没有catch做首次请求的错误处理吗?
这时候我就把他修改为
让他先处理完错误再重新调用,这时不执行catch里面的方法。请问该怎么处理。让第二次执行resolve或者reject
跟这种虽然不是异步,但实现原理跟性质好像一样,这样又是可以返回第二次的resolve或者reject
看代码,感觉是因为你的第一个promise没有进行决议,然后通过调用getLocation()又开始启用了另一个promise,所以会报错吧。
我理解的你要实现的就是在promise中要递归的调用自身。你可以搜搜promise递归调用相关问题。