// 查询queryTickets (index) {this.tsRefresh[index] = false;this.$forceUpdate();let reason, code; //埋点用Promise.race([new Promise((resolve, reject) => {this.$model.xxx[this.queryMethodArr[index]](this.queryParamArr[index], res => {code = res.result.code;if (res && code == "0000" && res.data && JSON.stringify(res.data) != "{}") {this.queryTicketsCallBack({index,data: res.data});if (index == 0) {this.queryFinishedCallback();}resolve("请求成功");} else {if (JSON.stringify(res.data) == "{}") {reason = "结构错误";} else {reason = "没有返回结果";}reject("没有返回结果");}});}), new Promise((resolve, reject) => {setTimeout(() => {reason = "请求超时";reject("请求超时");}, 6000);})]).catch((e) => {// 埋点let tval = "";try {let mdval = {index,};console.log(mdval, "mdval");tval = encodeURIComponent(JSON.stringify(mdval));} catch (error) {tval = "";}this.$tcTrackEvent("queryerror", "action", e, tval);this.$tcTrackEvent("", "show", "", JSON.stringify({reason: "错误",content: "错误~"}));if (!this.dealTimeOut) {this.dealTimeOut = true;// postmessage给小程序刷新window.wx && wx.miniProgram && wx.miniProgram.postMessage({ data: "xxx" });this.$alert({title: "温馨提示",message: "错误",callback: () => {if (this.$env.isMiniProgram&&this.query.planCode!="xxx") { wx.miniProgram.navigateBack();} else {this.$router.back();}},buttons: [{text: "返回列表"}]});}});},

利用promise.race来实现请求超时埋点功能相关推荐

  1. ajax请求如何判断超时,ajax请求超时判断(转载)

    ajax请求时有个参数可以借鉴一下 var ajaxTimeOut = $.ajax({ url:'', //请求的URL timeout : 1000, //超时时间设置,单位毫秒 type : ' ...

  2. promise请求超时处理

    实现效果 规定时间内如果网络请求还未完成,则自动取消请求,并报错请求超时. 重点 使用setTimeout设置超时时间. 使用Promise.race()方法实现效果.该方法的作用请跳转 MDN Pr ...

  3. [探索] 利用promise做一个请求锁

    在最近开发小程序的过程中,遇到一个需求,就是请求的时候header需要带上accessToken, accessToken是通过登陆接口返回的参数,可能会出现过期的情况,则需要重新登陆,所以每次加载小 ...

  4. 已超过了锁请求超时时段_分布式锁:效率与正确性的衡权

    提到分布式锁,很多人也许会脱口而出 "redis",可见利用 redis 实现分布式锁已被认为是最佳实践.这两天有个同事问我一个问题:"如果某个服务拿着分布式锁的时候,r ...

  5. fetch设置请求超时

    常规封装 fetch // 封装fetch let POST = function(url, params) {const URLS = baseURL + url;return fetch(URLS ...

  6. 微信小程序设置请求超时wx.request等,简单易懂!

    微信小程序设置请求超时wx.request等 一.用到的方法: 个人理解,比较粗糙 看不懂可以百度一下具体用法 new Promise:new了一个函数或者方法,可以被Promise.race等方法调 ...

  7. axios 登录后设置header_axios如何利用promise无痛刷新token

    需求 最近遇到个需求:前端登录后,后端返回token和token有效时间,当token过期时要求用旧token去获取新的token,前端需要做到无痛刷新token,即请求刷新token时要做到用户无感 ...

  8. axios请求超时,设置重新请求的完美解决方法

    自从使用Vue2之后,就使用官方推荐的axios的插件来调用API,在使用过程中,如果服务器或者网络不稳定掉包了, 你们该如何处理呢? 下面我给你们分享一下我的经历. 具体原因 最近公司在做一个项目, ...

  9. rxjs处理http请求超时

    博客原文地址 使用场景 用户进行一个操作请求后台而长时间未响应,我们希望给用户一个信息展示(请求超时,网络不好-). RxJS实现 关于RxJS请看这里 我这个功能的实现主要使用 delay,race ...

最新文章

  1. Cocos坐标之convertToNodeSpace、convertToWorldSpace、convertToNodeSpaceAR、convertToWorldSpaceAR区别和用法...
  2. Duilib嵌入CEF出现窗口显示不正常
  3. 设置ios6中UIViewController旋转
  4. win7部分便笺的元数据已被损坏
  5. 爬虫入门-3.初识BeautifulSoup
  6. 使用 gunicorn 部署flask项目
  7. usb连接不上 艾德克斯电源_硬核充电宝?360汽车应急电源入手体验
  8. python自动化办公 51cto_Python办公自动化之从Word到Excel
  9. struts的工作原理
  10. 数据分析与机器学习之线性回归与逻辑回归(六)
  11. ubuntu 17.10 如何设置合盖不关机
  12. UCSC Xena:癌症基因组学数据分析平台
  13. python开发出来的crm系统_关于python开发CRM系统
  14. 2020还是AI最火?推荐几本深度学习的书籍帮你入门!
  15. 春运火车上的这10种人,有一个就是你!
  16. erp系统服务器性能指标,ERP系统体检的三大关键指标
  17. 一名投资客手写MT4爆仓现价
  18. Lazada平台API:item_search - 按关键字搜索商品
  19. bigemap软件功能优势
  20. python pyquery_python pyquery 基本用法

热门文章

  1. 券商老是服务器维护无法登录,早间部分券商用户反映服务器崩溃 无法进行正常交易...
  2. Codeforces 444C DZY Loves Colors 线段树区间更新
  3. miniUI中的tree
  4. 单片机编程语言的比较
  5. 操作系统哲学原理(22)操作系统设计原理-操作系统设计之哲学原理
  6. 关于acm素数题解的思考
  7. dreamweaver 8_Dreamweaver 8
  8. 小胖机器人宣传语_教育机器人宣传广告词
  9. web性能优化及seo
  10. Windows10设置Google默认浏览器闪退设置失败的解决方法