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)求嗎?如果是的話(huà)
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. javascript - 為什么我的vue里的router-link不起作用2. 用戶(hù)在微信小程序支付成功以后,財(cái)務(wù)在微信支付后臺(tái)用交易單號(hào)能查到這筆訂單 但財(cái)務(wù)說(shuō)錢(qián)沒(méi)有入對(duì)公賬號(hào)?3. javascript - node redirect重定向失敗4. javascript - 求助Angular 跨控制器調(diào)用方法可行嗎?5. javascript - JS使用ele.style.backgoundImage = ’’ =’none’取消背景圖片都無(wú)效6. a標(biāo)簽跨域下載文件能否重命名?7. android - weex 項(xiàng)目createInstanceReferenceError: Vue is not defined8. javascript - 如圖,百度首頁(yè),查看源代碼為什么什么都沒(méi)有?9. PHPExcel表格導(dǎo)入數(shù)據(jù)庫(kù)怎么導(dǎo)入10. android - 哪位大神知道java后臺(tái)的api接口的對(duì)象傳到前端后輸入日期報(bào)錯(cuò),是什么情況?求大神指點(diǎn)
