javascript - 生成環(huán)境出現(xiàn)Uncaught (in promise) 錯(cuò)誤
問(wèn)題描述
本地開(kāi)發(fā)不會(huì)出現(xiàn)這樣的錯(cuò)誤,但是npm run build后發(fā)到服務(wù)器上出現(xiàn)這樣的錯(cuò)誤
問(wèn)題解答
回答1:用的是axios發(fā)送http請(qǐng)求嗎?如果是的話
axios.get().then().catch()
記得加上最后的那個(gè).catch()
回答2:之所以出現(xiàn)Uncaught (in promise) 的錯(cuò)誤,最終的原因就是:『你的某個(gè)promise沒(méi)有加上catch語(yǔ)句』試著去排查下哪里的寫(xiě)法不完善。以下內(nèi)容摘自我的博客《Promise使用手冊(cè)》
我們都知道, Promise.reject返回了一個(gè)拒絕狀態(tài)的Promise對(duì)象. 對(duì)于這樣的Promise對(duì)象, 如果其后續(xù)then | catch中都沒(méi)有聲明onRejected回調(diào), 它將會(huì)拋出一個(gè) “Uncaught (in promise) …”的錯(cuò)誤.
如上圖所示, 原語(yǔ)句是 “Promise.reject(‘返回一個(gè)拒絕狀態(tài)的Promise’);” 其后續(xù)并沒(méi)有跟隨任何then | catch語(yǔ)句, 因此它將拋出錯(cuò)誤, 且該錯(cuò)外部的Promise無(wú)法捕獲.不僅如此, Promise之間涇渭分明, 內(nèi)部Promise拋出的任何錯(cuò)誤, 外部Promise對(duì)象都無(wú)法感知并捕獲. 同時(shí), 由于promise是異步的, try catch語(yǔ)句也無(wú)法捕獲其錯(cuò)誤.因此養(yǎng)成良好習(xí)慣, promise記得寫(xiě)上catch.
相關(guān)文章:
1. 怎么能做出標(biāo)簽切換頁(yè)的效果,(文字內(nèi)容隨動(dòng))2. mysql - sql 左連接結(jié)果union右連接結(jié)果,導(dǎo)致重復(fù)性計(jì)算怎么解決?3. python的正則怎么同時(shí)匹配兩個(gè)不同結(jié)果?4. PHP訂單派單系統(tǒng)5. python中def定義的函數(shù)加括號(hào)和不加括號(hào)的區(qū)別?6. php多任務(wù)倒計(jì)時(shí)求助7. 數(shù)組排序,并把排序后的值存入到新數(shù)組中8. 為啥不用HBuilder?9. mysql時(shí)間格式問(wèn)題10. 默認(rèn)輸出類型為json,如何輸出html
