快應用如何避免JSON.parse()解析出錯
現象描述
程式碼執行 fetch 請求,請求返回的資料預設是 JSON 化的字串了,開發者使用 JSON 物件解析,這是正常邏輯;
但是一旦遇到伺服器端許可權校驗失敗等問題時,會返回類似 503 的 HTML 頁面,此時 JSON 解析肯定就會失敗。
解決方法
1. 在每個JSON.parse() 的程式碼執行處進行 try-catch 包圍,處理出錯情況
2. 在 app.ux 中提前代理 JSON.parse() ,使用 try-catch 包圍,待異常出現時埋點資料,或者返回預設正常資料替代。
推薦方案2 ,示例程式碼如下:
export function parseProxy () { const rawParse = JSON.parse JSON.parse = function (str, defaults) { try { return rawParse(str) } catch (err) { console.error(`JSON解析失敗:${str}, ${err.stack}`) return defaults } } }
原文連結: https://developer.huawei.com/consumer/cn/forum/topic/0201454971771540781?fid=0101271690375130218
原作者: Mayism
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69970551/viewspace-2782023/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 快應用如何避免讀取undefined變數的屬性導致報錯Undefined變數
- 如何避免應用安全風險?
- JSON.parse()出錯解決JSON
- Flutter | 效能優化——如何避免應用 jankFlutter優化
- 初略講解如何除錯Flutter應用除錯Flutter
- 快應用簡單瞭解
- SpringMVC 檢視解析出錯SpringMVC
- 如何排查DNS解析出錯?這四步輕鬆搞定DNS
- 如何避免空指標出錯?指標
- redis快取和業務應用瞭解Redis快取
- 快應用,快入門
- 初探快應用
- 如何除錯Android Wear 應用除錯Android
- 快應用是什麼軟體?快應用有什麼用?
- 卡片跳轉快應用指定頁面,如何點返回直接退出快應用回到卡片
- 解決快取穿透的幾種應用思考快取穿透
- 華為快應用引擎技術架構詳解架構
- 快應用採坑與flex佈局講解Flex
- 如何應用HTTPDNS及全站HTTPS協議避免域名被劫持?httpdDNS協議
- Win10系統如何清理應用商店快取_win10清理應用商店快取的方法Win10快取
- 網站域名解析出錯了怎麼辦?網站
- 使用 Vue 3 時應避免的 10 個錯誤Vue
- 應用中避免使用char/nchar型別型別
- 【快應用】十大手機廠商共推快應用標準
- 如何實現一個JSON.parseJSON
- 如何解決快應用堆疊溢位問題
- 如何避免這3 個電子郵件錯誤
- CIO應避免的三個低程式碼部署錯誤
- fastjson 返回json字串,JSON.parse 報錯ASTJSON字串
- 快應用初體驗
- 如何解決快應用頁面滑動卡頓問題
- 如何處理 Angular 單頁面應用裡的 a 標籤,避免點選後重新載入整個應用Angular
- 能夠自動分析出Java應用中相互依賴程度的工具:Jarviz -ExpediaJavaJAR
- HTML5應用程式快取Application Cache詳解HTML快取APP
- 如何使用Visual Studio Code除錯PHP CLI應用和Web應用除錯PHPWeb
- 機器學習實踐中應避免的7種常見錯誤機器學習
- 網站設計中應當避免的8個錯誤網站
- 關於新浪雲JSON.parse報錯的問題JSON