javascript - 微信小程序封裝定位問題(封裝異步并可能多次請(qǐng)求)
問題描述
當(dāng)首次成功定位或者定位失敗點(diǎn)擊取消按鈕是沒有問題,能接收到then里面的回調(diào)或者是取消定位catch里面的函數(shù),但定位失敗點(diǎn)擊重新定位進(jìn)行對(duì)getLocation進(jìn)行重新調(diào)用,是會(huì)重新new promise的,但這時(shí)的resolve或者reject就不能成功了,報(bào)錯(cuò)提示
這個(gè)意思是沒有catch做首次請(qǐng)求的錯(cuò)誤處理嗎?這時(shí)候我就把他修改為
讓他先處理完錯(cuò)誤再重新調(diào)用,這時(shí)不執(zhí)行catch里面的方法。請(qǐng)問該怎么處理。讓第二次執(zhí)行resolve或者reject
跟這種雖然不是異步,但實(shí)現(xiàn)原理跟性質(zhì)好像一樣,這樣又是可以返回第二次的resolve或者reject
問題解答
回答1:看代碼,感覺是因?yàn)槟愕牡谝粋€(gè)promise沒有進(jìn)行決議,然后通過調(diào)用getLocation()又開始啟用了另一個(gè)promise,所以會(huì)報(bào)錯(cuò)吧。我理解的你要實(shí)現(xiàn)的就是在promise中要遞歸的調(diào)用自身。你可以搜搜promise遞歸調(diào)用相關(guān)問題。
相關(guān)文章:
1. node.js - webpack-dev-server正常運(yùn)行,webpack打包卻出錯(cuò),怎么辦?2. html5 - 請(qǐng)問一下寫H5的時(shí)候 你們都是兼容那些手機(jī)3. 我何時(shí)應(yīng)該在Java中使用JFrame.add(component)和JFrame.getContentPane()。add(component)4. node.js - nodejs,express搭建,為什么ejs模板被解析成pre了?5. javascript - 關(guān)于iscroll的一段代碼,希望有人解釋6. android - 哪位大神知道java后臺(tái)的api接口的對(duì)象傳到前端后輸入日期報(bào)錯(cuò),是什么情況?求大神指點(diǎn)7. 微信內(nèi)網(wǎng)頁上傳圖片問題8. mysql - 瞬間流量很高的網(wǎng)站,要頻繁的插入數(shù)據(jù)到數(shù)據(jù)庫,應(yīng)該怎么解決這個(gè)問題?9. php自學(xué)從哪里開始?10. 輸入地址報(bào)以下截圖錯(cuò)誤,怎么辦?
