快應用如何避免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優化
- SpringMVC 檢視解析出錯SpringMVC
- 初略講解如何除錯Flutter應用除錯Flutter
- 快應用簡單瞭解
- 如何排查DNS解析出錯?這四步輕鬆搞定DNS
- 如何避免空指標出錯?指標
- 快應用,快入門
- redis快取和業務應用瞭解Redis快取
- 初探快應用
- 如何應用HTTPDNS及全站HTTPS協議避免域名被劫持?httpdDNS協議
- 使用 Vue 3 時應避免的 10 個錯誤Vue
- 如何實現一個JSON.parseJSON
- 解決快取穿透的幾種應用思考快取穿透
- 快應用採坑與flex佈局講解Flex
- 快應用是什麼軟體?快應用有什麼用?
- 如何使用Visual Studio Code除錯PHP CLI應用和Web應用除錯PHPWeb
- 卡片跳轉快應用指定頁面,如何點返回直接退出快應用回到卡片
- Win10系統如何清理應用商店快取_win10清理應用商店快取的方法Win10快取
- CIO應避免的三個低程式碼部署錯誤
- JSON.parse 和 JSON.stringify 詳解JSON
- 如何避免這3 個電子郵件錯誤
- 華為快應用引擎技術架構詳解架構
- 如何重新整理瀏覽器的應用快取?瀏覽器快取
- 如何解決快應用堆疊溢位問題
- [譯] RxJS: 避免因濫用 switchMap 而導致錯誤JS
- Android快應用實踐Android
- 快應用初體驗
- 如何處理 Angular 單頁面應用裡的 a 標籤,避免點選後重新載入整個應用Angular
- 【快應用】十大手機廠商共推快應用標準
- 能夠自動分析出Java應用中相互依賴程度的工具:Jarviz -ExpediaJavaJAR
- 教你如何在快應用中跳轉到Android的appAndroidAPP
- win10應用商店快取已損壞怎麼辦_win10應用商店提示應用商店快取已損壞的解決方法Win10快取
- SAP系統合併後整合:應避免的4個錯誤
- 實用知識】如何避免投標無效
- JSON.parse() 方法JSON
- JSON.parse()方法JSON