网络请求异常是怎么了,网络请求数据错误怎么解决

首页 > 实用技巧 > 作者:YD1662024-01-09 02:26:45

七、崩溃和卡顿

卡顿也就是网页暂时响应比较慢, JS 可能无法及时执行。但崩溃就不一样了,网页都崩溃了,JS 都不运行了,还有什么办法可以监控网页的崩溃,并将网页崩溃上报呢?

崩溃和卡顿也是不可忽视的,也许会导致你的用户流失。

利用 window 对象的 load 和 beforeunload 事件实现了网页崩溃的监控。

网络请求异常是怎么了,网络请求数据错误怎么解决(33)

基于以下原因,我们可以使用 Service Worker 来实现网页崩溃的监控:

八、错误上报

1. 通过 Ajax 发送数据:

因为 Ajax 请求本身也有可能会发生异常,而且有可能会引发跨域问题,一般情况下更推荐使用动态创建 img 标签的形式进行上报。

2.动态创建 img 标签的形式:

网络请求异常是怎么了,网络请求数据错误怎么解决(34)

收集异常信息量太多,怎么办?实际中,我们不得不考虑这样一种情况:如果你的网站访问量很大,那么一个必然的错误发送的信息就有很多条,这时候,我们需要设置采集率,从而减缓服务器的压力:

网络请求异常是怎么了,网络请求数据错误怎么解决(35)

采集率应该通过实际情况来设定,随机数,或者某些用户特征都是不错的选择。

九、总结

回到我们开头提出的那个问题,如何优雅的处理异常呢?

  1. 可疑区域增加 Try-Catch
  2. 全局监控 JS 异常 window.onerror
  3. 全局监控静态资源异常 window.addEventListener
  4. 捕获没有 Catch 的 Promise 异常:unhandledrejection
  5. VUE errorHandler 和 React componentDidCatch
  6. 监控网页崩溃:window 对象的 load 和 beforeunload
  7. 跨域 crossOrigin 解决

其实很简单,采用组合方案,分类型的去捕获异常,这样基本 80%-90% 的问题都化于无形。

作者:coding小姐姐原文链接:https://segmentfault.com/a/1190000018754274
上一页56789末页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.