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. 在mac下出現(xiàn)了兩個(gè)docker環(huán)境2. css3 - css怎么實(shí)現(xiàn)圖片環(huán)繞的效果3. android - 用textview顯示html時(shí)如何寫(xiě)imagegetter獲取網(wǎng)絡(luò)圖片4. javascript - 原生canvas中如何獲取到觸摸事件的canvas內(nèi)坐標(biāo)?5. css - 定位為absolute的父元素中的子元素 如何設(shè)置在父元素的下面?6. JavaScript事件7. javascript - jquery hide()方法無(wú)效8. 網(wǎng)頁(yè)爬蟲(chóng) - 用Python3的requests庫(kù)模擬登陸B(tài)ilibili總是提示驗(yàn)證碼錯(cuò)誤怎么辦?9. 注冊(cè)賬戶文字不能左右分離10. html - vue項(xiàng)目中用到了elementUI問(wèn)題
