设置定时器,持续调用接口
问题描述
因为现在我们项目的后端架构是
当我对 测试样例 进行修改之后,我需要将修改后的测试样例发送给 任务调度服务器 ,再由 任务调度服务器发送给判题服务器(测试样例服务器)
这段期间就存在时间的延迟,需要等到判题服务器 得到结果之后才能进行页面的渲染
解决方法
// 获取在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 ='测试失败'}
设置定时器,持续调用接口相关推荐
- 通过设置proxyTable实现调用接口跨域
proxyTable: {'/api': {target: 'http://10.10.10.47:10003', //服务器目标接口域名changeOrigin: true, //是否跨域pathR ...
- 普歌-腾讯云短信+使用node发送短信(3种方法API、SDK)、封装工具、搭建web服务、写接口、调用接口发送短信、时效性判断、验证验证码的正确性(下)
普歌-结合腾讯云短信服务+node搭建一个简单的发送短信web小项目 涉及技术: 腾讯云服务 后端服务:node+express 前端搭建:html+js 前言:本来这篇博客应该很早就发了,中间有一些 ...
- 语音播报——用setTimeout实现轮询调用接口并播报语音功能
应用场景:对于订单管理系统,如果有订单来了,希望能够及时提醒的话,语音播报是一个很好的方式 功能: 勾选语音播报,则会间隔15s去调用接口,如果接口返回数据则进行音频的播报 如果不勾选语音播报或者取消 ...
- elasticsearch:调用接口设置search.max_buckets的值
elasticsearch:调用接口设置search.max_buckets的值 public class ElasticsearchBucketsTest {private static final ...
- 调用接口处理时间过长,前端访问超时解决方案
2019独角兽企业重金招聘Python工程师标准>>> 在项目中会遇到这样的情况,由于后台需要执行.计算一段时间(如计算积分.自动排课等).这时前台请求一段时间后,得不到返回结果就会 ...
- php调用接口发送短信
首先在各平台上申请短信接口权限 我是在京东万象上申请的短信权限,发送短信权限都是有测试次数,不用收费 我们可以看到请求参数.返回参数.返回示例值,按照他的格式就可以进行访问接口来进行发送短信操作,需要 ...
- httpclient 调取接口_使用HttpClient调用接口的实例讲解
一,编写返回对象 public class HttpResult { // 响应的状态码 private int code; // 响应的响应体 private String body; get/se ...
- Android Camera设置setPreviewCallback实现onPreviewFrame接口实时截取每一帧视频流数据
1 概述 通过Android Camera拍摄预览中设置setPreviewCallback实现onPreviewFrame接口,实时截取每一帧视频流数据 2 知识点 ① Android Camera ...
- axios请求接口http_axios调用接口
axios调用接口 1. 按照axios npm install --save-dev axios 2.在main.js 引入axios, 设置全局属性$http 指向axios main.js im ...
- YunTable开发日记(3) – BigTable的数据模型和调用接口 (转载)
源地址:http://peopleyun.com/?p=665 本文将深入分析BigTable的数据模型,并介绍它是如何被调用的. 数据模型 就像向我之前所说的那样,其实BigTable顾名思义,是一 ...
最新文章
- 【 FPGA 】状态机,FPGA的灵魂
- hibernate插入DB时间
- Qt学习之路(35): Qt容器类之顺序存储容器
- bzoj1025 [SCOI2009]游戏 动态规划
- 使用python处理实验数据-yechen_pro_20171231
- 支付宝支付后回调通知中responseTxt=true isSign=False可能的问题
- 【通知】深度学习之模型设计书籍勘误汇总!附赠资源和代码开源问题
- Java 引用分类:StrongReference、SoftReference、WeakReference、PhantomReference
- (一个)AngularJS获取贴纸Hello World
- zabbix自定义监控之声音报警、用户和组权限
- 一、java入门(高琪java300集+java从入门到精通笔记)
- ECMAScript标准简介
- U盘、移动硬盘加密工具绿色版
- Web前端-Ajax(下)
- 中国植入式起搏器市场趋势报告、技术动态创新及市场预测
- 201216,成交量异动检测
- 区块链技术之钱包技术
- python WiFi暴力破解小程序
- 消除数据库中取出的Json字符串带有反斜杆的问题
- srv服务器作用,ServerManager功能强大_服务器评测与技术-中关村在线