当前位置: 首页 > news >正文

内蒙古银税贷互动平台seo网站推广软件排名

内蒙古银税贷互动平台,seo网站推广软件排名,做网站1核1g服务器够吗,怎么在阿里巴巴做网站前言 公司的项目上线出现问题后难以定位错误#xff0c;研究过现存的错误监控方案#xff0c;受限于特殊条件只能定制自己的错误收集方案。 基于以上背景我撸出来一个错误日志收集方案 - Ohbug。 欢迎各位大佬 star ~ 监控错误 说起错误的捕获#xff0c;首先想到的是 try c…前言 公司的项目上线出现问题后难以定位错误研究过现存的错误监控方案受限于特殊条件只能定制自己的错误收集方案。 基于以上背景我撸出来一个错误日志收集方案 - Ohbug。 欢迎各位大佬 star ~ 监控错误 说起错误的捕获首先想到的是 try catch 通过 catch 捕获到错误后进一步做出处理 try {undefined.map(v v); } catch(e) {console.log(e); // TypeError: Cannot read property map of undefined } 复制代码然而 try catch 对于异步产生的错误毫无感知 try {setTimeout(() {undefined.map(v v);}, 1000) } catch(e) {console.log(e); // TypeError: Cannot read property map of undefined } 复制代码并且在实际工作中我也不可能给所有代码加上 try catch所以能否捕获全局的错误呢 react componentDidCatch React 16 提供了一个内置函数 componentDidCatch使用它可以非常简单的获取到 react 下的错误信息 componentDidCatch(error, info) { console.log(error, info); } 复制代码React 16 的异常/错误处理 vue errorHandler 指定组件的渲染和观察期间未捕获错误的处理函数。这个处理函数被调用时可获取错误信息和 Vue 实例。 Vue.config.errorHandler function (err, vm, info) {// handle error// info 是 Vue 特定的错误信息比如错误所在的生命周期钩子// 只在 2.2.0 可用 } 复制代码errorHandler onerror vs addEventListener 对于没有使用 react 或 vue 的项目可以通过 onerror 或 addEventListener 监控全局错误(当然使用 react 或 vue 的项目同样可以) onerror 或 addEventListener 都可以捕获到一些未知的错误然而这两个有什么区别呢 window.onerror (msg, url, row, col, error) {console.log({msg, url, row, col, error}); }; setTimeout(() {undefined.map(v v); }, 1000); 复制代码 window.addEventListener(error, (e) {console.log(e); }, true); 复制代码 除此之外addEventListener 还可以捕获资源加载错误、未 catch 的 promise 错误。 // 捕获未 catch 的 promise 错误 window.addEventListener(unhandledrejection, e {e.preventDefault();console.log(e); }); Promise.reject(promiseError); 复制代码 ajax/fetch 错误监控 想要监控请求失败上面的方法肯定是不可取的了。 使用 axios 的小伙伴可以通过配置拦截器实现错误的监控。 // 添加请求拦截器 axios.interceptors.request.use(function (config) {// 在发送请求之前做些什么return config;}, function (error) {// 对请求错误做些什么return Promise.reject(error);});// 添加响应拦截器 axios.interceptors.response.use(function (response) {// 对响应数据做点什么return response;}, function (error) {// 对响应错误做点什么return Promise.reject(error);}); 复制代码这里我采用了重新封装 XMLHttpRequest/fetch 对象的方法实现对网络请求的监控。 XMLHttpRequest const AJAX {// 记录请求的 urlreqUrl: ,// 记录请求的方法reqMethod: ,// 保存原生的 open 方法xhrOpen: window.XMLHttpRequest.prototype.open,// 保存原生的 send 方法xhrSend: window.XMLHttpRequest.prototype.send,init() {const that this;window.XMLHttpRequest.prototype.open function () {that.reqUrl arguments[1];that.reqMethod arguments[0];that.xhrOpen.apply(this, arguments);};window.XMLHttpRequest.prototype.send function () {this.addEventListener(readystatechange, function () {if (this.readyState 4) {if (!this.status || this.status 400) {// 错误收集}}});that.xhrSend.apply(this, arguments);};}, }; AJAX.init(); 复制代码fetch const FETCH {backup: window.fetch,init() {window.fetch function (url, conf) {return (FETCH.backup.apply(this, arguments).then((res) {if (!res.status || res.status 400) {// 错误收集}return res;}));};}, }; FETCH.init(); 复制代码待实现功能 捕获websocket错误设置采集率sourcemap定位压缩代码具体错误位置参考文章 前端代码异常监控实战Js error 监控前端一站式异常捕获方案(全)转载于:https://juejin.im/post/5bd2dbc7f265da0af16183f8
http://www.yutouwan.com/news/159132/

相关文章:

  • 做设计 素材网站有哪网站建设致谢
  • 百度网盘网站开发文档模板网站如何做查询表单
  • 顺德网站建设收费标准wordpress无限登录密码
  • 企业网站建设 知乎品牌设计公司招聘
  • 科技风格网站金华建设局政务网站
  • 怎么用360做网站跳转wordpress代码框
  • 百度财报q3优化营商环境条例
  • 网站定制公司平顶山高端网站建设
  • iis做网站视手机网站域名哪里注册时间
  • 流量套餐汇总网站外贸做的社交网站
  • 电子商务网站开发策划可以讨论网站建设的论坛
  • 网站开发语言排名wordpress自动添加
  • 公司域名让做网站的网站开发行业分析
  • 做微信扫码网站牡丹江建设厅网站
  • 给网站做绝对路径怎么给公司做网站
  • 沧浪企业建设网站价格淘客招商网站选品库建设
  • 静态网站建设的技术运用建设局网站功能简介
  • 免费企业网站建设哪家搜狗网站做滤芯怎么样
  • 建筑公司是干什么的seo的定义
  • 网站建设银行业务预约纪念币猪年纪念币预约江门网站优化方案
  • 外贸英文网站开发长春做网站哪里好
  • 做网站的图片要求大小虚拟电子商务网站建设前期规划方案
  • 做家装的网站有哪些百度一下就知道首页
  • 上海外贸网站建设找哪家衡水专业网站建设公司
  • 龙岗爱联网站建设网站建设的工作职责是什么
  • 娄底工程建设有限公司网站成品免费观看网站
  • 正规网站建设首选公司电脑ppt制作软件
  • 门户网站的意思网站建设完成
  • 网站打开空白页不用购买域名做网站
  • 给别人做网站的话术南京seo排名优化