问题描述

因为现在我们项目的后端架构是

当我对 测试样例 进行修改之后,我需要将修改后的测试样例发送给 任务调度服务器 ,再由 任务调度服务器发送给判题服务器(测试样例服务器)

这段期间就存在时间的延迟,需要等到判题服务器 得到结果之后才能进行页面的渲染

解决方法

// 获取在ojTopicSetTopicList的属性let parent = this.$parent.$parent.$parent.$parent.$parentlet curTable = parent.curTablelet pagesize = parent.queryInfo.pagesize// 获取到topicId后,拿到当前 操作测试样例的 位置let index = (this.topicId % pagesize) - 1/*** interval可以一直调用,前面赋值后* 通过clearInterval属性终止*    */
if (dataTest.code === 200) {var time = setInterval(() => {this.checkIndex++this.getDetail()curTable[index].topicStatus = this.dataDetail.data.topic_statusif (this.dataDetail.data.topic_status !== '正在测试') {this.checkIndex = 0clearInterval(time)}if (this.checkIndex >= 10) {this.checkIndex = 0clearInterval(time)this.$message({type: 'error',message: '服务器出错,请稍后重试!',})parent.curTable[index].topicStatus ='测试失败'}}, 1000)}

代码解释

1.判断条件是否满足

if (dataTest.code === 200)

2.将定时器(setInterval)赋值

以便于之后的清除

3.如果不是 正在测试,就可以清除定时器了

if (this.dataDetail.data.topic_status !== '正在测试') {this.checkIndex = 0clearInterval(time)}

4.发送10次请求后,中断–并报错

if (this.checkIndex >= 10) {this.checkIndex = 0clearInterval(time)this.$message({type: 'error',message: '服务器出错,请稍后重试!',})parent.curTable[index].topicStatus ='测试失败'}

设置定时器,持续调用接口相关推荐

  1. 通过设置proxyTable实现调用接口跨域

    proxyTable: {'/api': {target: 'http://10.10.10.47:10003', //服务器目标接口域名changeOrigin: true, //是否跨域pathR ...

  2. 普歌-腾讯云短信+使用node发送短信(3种方法API、SDK)、封装工具、搭建web服务、写接口、调用接口发送短信、时效性判断、验证验证码的正确性(下)

    普歌-结合腾讯云短信服务+node搭建一个简单的发送短信web小项目 涉及技术: 腾讯云服务 后端服务:node+express 前端搭建:html+js 前言:本来这篇博客应该很早就发了,中间有一些 ...

  3. 语音播报——用setTimeout实现轮询调用接口并播报语音功能

    应用场景:对于订单管理系统,如果有订单来了,希望能够及时提醒的话,语音播报是一个很好的方式 功能: 勾选语音播报,则会间隔15s去调用接口,如果接口返回数据则进行音频的播报 如果不勾选语音播报或者取消 ...

  4. elasticsearch:调用接口设置search.max_buckets的值

    elasticsearch:调用接口设置search.max_buckets的值 public class ElasticsearchBucketsTest {private static final ...

  5. 调用接口处理时间过长,前端访问超时解决方案

    2019独角兽企业重金招聘Python工程师标准>>> 在项目中会遇到这样的情况,由于后台需要执行.计算一段时间(如计算积分.自动排课等).这时前台请求一段时间后,得不到返回结果就会 ...

  6. php调用接口发送短信

    首先在各平台上申请短信接口权限 我是在京东万象上申请的短信权限,发送短信权限都是有测试次数,不用收费 我们可以看到请求参数.返回参数.返回示例值,按照他的格式就可以进行访问接口来进行发送短信操作,需要 ...

  7. httpclient 调取接口_使用HttpClient调用接口的实例讲解

    一,编写返回对象 public class HttpResult { // 响应的状态码 private int code; // 响应的响应体 private String body; get/se ...

  8. Android Camera设置setPreviewCallback实现onPreviewFrame接口实时截取每一帧视频流数据

    1 概述 通过Android Camera拍摄预览中设置setPreviewCallback实现onPreviewFrame接口,实时截取每一帧视频流数据 2 知识点 ① Android Camera ...

  9. axios请求接口http_axios调用接口

    axios调用接口 1. 按照axios npm install --save-dev axios 2.在main.js 引入axios, 设置全局属性$http 指向axios main.js im ...

  10. YunTable开发日记(3) – BigTable的数据模型和调用接口 (转载)

    源地址:http://peopleyun.com/?p=665 本文将深入分析BigTable的数据模型,并介绍它是如何被调用的. 数据模型 就像向我之前所说的那样,其实BigTable顾名思义,是一 ...

最新文章

  1. 【 FPGA 】状态机,FPGA的灵魂
  2. hibernate插入DB时间
  3. Qt学习之路(35): Qt容器类之顺序存储容器
  4. bzoj1025 [SCOI2009]游戏 动态规划
  5. 使用python处理实验数据-yechen_pro_20171231
  6. 支付宝支付后回调通知中responseTxt=true isSign=False可能的问题
  7. 【通知】深度学习之模型设计书籍勘误汇总!附赠资源和代码开源问题
  8. Java 引用分类:StrongReference、SoftReference、WeakReference、PhantomReference
  9. (一个)AngularJS获取贴纸Hello World
  10. zabbix自定义监控之声音报警、用户和组权限
  11. 一、java入门(高琪java300集+java从入门到精通笔记)
  12. ECMAScript标准简介
  13. U盘、移动硬盘加密工具绿色版
  14. Web前端-Ajax(下)
  15. 中国植入式起搏器市场趋势报告、技术动态创新及市场预测
  16. 201216,成交量异动检测
  17. 区块链技术之钱包技术
  18. python WiFi暴力破解小程序
  19. 消除数据库中取出的Json字符串带有反斜杆的问题
  20. srv服务器作用,ServerManager功能强大_服务器评测与技术-中关村在线

热门文章

  1. word回车后间距太大_word换行间距调整 word换行后间距变大
  2. 在vim中删除空白行
  3. android百度地图注册,百度地图API key申请申请详细步骤
  4. 文字转语音播报,兼容多种浏览器
  5. JS阻止form表单提交
  6. POI操作WORD表格系列--复制表格,填充数据
  7. 王德明——全球旅行达人,走遍世界阅尽繁华,为何他独爱于此?
  8. ArcMap进行标记符号制作
  9. HTML——HTML中的特殊符号
  10. win10安装mysql初始化失败怎么办_Win10系统安装SQL2000失败 初始化错误该怎么解决?...