js中try?catch使用遇到的問(wèn)題
try…catch語(yǔ)法,簡(jiǎn)單來(lái)說(shuō)就是用來(lái)捕獲異常的,我就簡(jiǎn)述一下我遇到的問(wèn)題
當(dāng)使用vuex在actions發(fā)請(qǐng)求時(shí),這個(gè)接口不僅可以添加購(gòu)物車數(shù)據(jù),同時(shí)也可更新產(chǎn)品的數(shù)量,我就在更新產(chǎn)品數(shù)量的地方出現(xiàn)了問(wèn)題,
先說(shuō)說(shuō)我的問(wèn)題:點(diǎn)擊增加/減少產(chǎn)品數(shù)量,第一次點(diǎn)擊+,確實(shí)發(fā)請(qǐng)求了,但是數(shù)據(jù)并沒(méi)有發(fā)生改變,第二次點(diǎn)擊數(shù)值直接變成12,跳過(guò)了展示11的過(guò)程。于是我開始排查代碼。。。。。
利用try...catch可捕獲代碼異常,當(dāng)然,我的代碼并沒(méi)有報(bào)錯(cuò),但是使用了try...catch之后確實(shí)功能正常了。所以我覺(jué)得我們要養(yǎng)成使用try...catch的習(xí)慣,用在哪?
當(dāng)后臺(tái)報(bào)錯(cuò)時(shí),你可以用try...catch捕獲錯(cuò)誤,縮小檢查范圍。
在發(fā)請(qǐng)求時(shí),可使用,因?yàn)榘l(fā)請(qǐng)求時(shí)的
其實(shí)就是給try...catch用的,一旦數(shù)據(jù)沒(méi)回來(lái)或者異常,能較準(zhǔn)確的告訴你哪里出了什么問(wèn)題,提高編碼效率。try...catch在組件中使用時(shí),我們是需要知道請(qǐng)求的結(jié)果的,所以寫了一個(gè)判斷,讓try...catch提供給我們報(bào)錯(cuò)的詳細(xì)信息
例如:我進(jìn)行路由跳轉(zhuǎn)之前要發(fā)請(qǐng)求,請(qǐng)求成功時(shí),再路由跳轉(zhuǎn),否則報(bào)錯(cuò),這時(shí),就用try...catch包裹這個(gè)請(qǐng)求,這樣如果出現(xiàn)報(bào)錯(cuò),那一定是請(qǐng)求出現(xiàn)了問(wèn)題,所以各位盡量用。
這個(gè)try...catch我個(gè)人理解,目前它比捕獲異常作用還大的就是能夠保證代碼能夠順序進(jìn)行,減少bug,雖然不報(bào)錯(cuò),但是有些邏輯問(wèn)題存在,一旦使用了就沒(méi)事了。
怎么用??jī)H僅是包裹嗎?
首先我們要知道
this.$store.dispatch("XXXXX")//這個(gè)的返回值是什么?是promise對(duì)象
如何證明?
你可以let result=this.$store.dispatch("XXXXX")//打印一下試試
既然是一個(gè)promise對(duì)象,那就得用await來(lái)等待,而await和async是CP,所以要配合使用,僅看畫框的即可。
唉,雖然寫起來(lái)比較麻煩,但是確實(shí)能縮小檢查錯(cuò)誤的范圍,具體詳細(xì)的介紹或許你可以拿出一點(diǎn)時(shí)間去學(xué)習(xí)一下es6新語(yǔ)法,在那里你可以獲得更多更詳細(xì)更全面的知識(shí)體系,諸君加油!
總結(jié)
到此這篇關(guān)于js中try catch使用遇到的問(wèn)題的文章就介紹到這了,更多相關(guān)js中try catch用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解在IDEA中將Echarts引入web兩種方式(使用js文件和maven的依賴導(dǎo)入)
這篇文章主要介紹了在IDEA中將Echarts引入web兩種方式(使用js文件和maven的依賴導(dǎo)入),本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07javascript parseUrl函數(shù)(來(lái)自國(guó)外的獲取網(wǎng)址url參數(shù))
在外國(guó)一博客看到一個(gè)很好的函數(shù),獲取網(wǎng)址url等地址參數(shù)。非常不錯(cuò),值得參考與收藏。2010-06-06JavaScript?字符串新增方法?trim()?的使用說(shuō)明
這篇文章主要介紹了JavaScript字符串新增方法trim()的使用說(shuō)明,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-09-09jQuery animate()實(shí)現(xiàn)背景色漸變效果的處理方法【使用jQuery.color.js插件】
這篇文章主要介紹了jQuery animate()實(shí)現(xiàn)背景色漸變效果的處理方法,結(jié)合實(shí)例形式分析了jQuery顏色插件jquery.color.js實(shí)現(xiàn)背景色漸變的簡(jiǎn)單操作技巧,需要的朋友可以參考下2017-03-03使用javascript做時(shí)間倒數(shù)讀秒功能的實(shí)例
今天小編就為大家分享一篇關(guān)于使用javascript做時(shí)間倒數(shù)讀秒功能的實(shí)例,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-01-01