Java之路--js中定时任务之轮询

xiaoxiao2021-02-28  73

最近在项目里做了非常简单的审批流程,根据领导要求 需要定时检查 登录用户是否 有表单需要去审批 ,一开始以为用spring  task定时任务调度可能更易于实现,一上手发现,task定时后台任务,比如清理缓存,清理日志等更为方便好用,而前台页面的定时任务,用js的定时器 setInterval更加方便,使用起来比较简单。贴出项目中的代码: /*审批 轮询*/ var task = setInterval(function(){ $.ajax({ url:"getIsVouchCheckBythisUser",//每60秒执行一次此请求 data:{}, dataType:'json', success:function(data){ if(data.length > 0){ //如果查询出数据 给出相应提示 layer.confirm('您有'+data.length+'条表单需要审核', {offset: 'rb', btn: ['前往','不再提醒','以后提醒'] },function(){//前往 按钮     layer.alert('请点击左侧 审批单据管理 按钮进行审核', { icon: 7, skin: 'layer-ext-moon' }) },function(){//不再提醒 按钮 clearInterval(task);//关闭轮询 },function(){ //关闭 按钮 layer.close(index);//关闭当前提示窗口 }); } } }) }, 60000);//60秒 执行一次

逻辑层代码在这里就不贴出来了,看下此段代码实现的效果。

显示条数为动态的,前往 按钮可以前往 展示所有要审核的单据的页面  不再提醒  即执行clearInterval()函数,以后提醒   就是关闭当前弹出窗口。

使用轮询 setInterval轮询,直接在js中执行setInterval()函数即可,时间时间可根据自己需求随意设定,clearInterval()函数为终止轮询方法,没有复杂的使用经验,所以尚不知此方式对系统性能会不会有较大影响,后续将持续学习中....

转载请注明原文地址: https://www.6miu.com/read-2613158.html

最新回复(0)