假如有一个任务列表taskList,从这个列表中弹出一个任务id,到后台获取数据,如果已经完成那么处理,如果还没完成,那么再次到后台获取数据,直到完成。

实现方式如下:

function getTaskData(task,taskList,recode){console.log('获取task-'+recode+':'+task)$.ajax({'url':'/jgwork/task_get','type':'POST','async':false,'dataType':'json','data':{'type':'getTaskDataFromRedis','task':task},'success':function(result){if (result.code){if(result.isComplete){      //任务完成$($('#taskprogress div.bs-wizard-step')[recode-1]).removeClass('disabled').addClass('complete')//do something heresetTimeout(function(){generateTask(taskList,recode)},1000)         //获取下一个任务}else {                     //任务未完成setTimeout(function(){getTaskData(task,taskList,recode)},300)     //继续获取数据}}else {showError(result.msg)}}})}//从任务列表中弹出一个任务function generateTask(taskList,recode=0){if (taskList.length>0) {task = taskList.shift()getTaskData(task,taskList,recode+1)}else {$($('#taskprogress div.bs-wizard-step')[recode]).removeClass('disabled').addClass('complete')}}

js 实现递归从后台获取任务数据,直到任务完成相关推荐

  1. 微信小程序——从后台获取数据库数据并在前台显示(前端+后端+数据库)

    因为人工测试的时候需要统计数据都在纸上,统计起来很麻烦.所以我想做个小程序来辅助我测试,但我之前没学过小程序,所以就一点一点搞吧.今天这篇主要讲从后台获取数据库数据并在前台显示(类似背单词小程序的点击 ...

  2. 利用jquery写的从后台获取json数据以表格显示,并带翻页功能.里面包含模式窗口等功能...

    利用jquery写的从后台获取json数据,以表格显示,并带翻页功能 里面包含模式窗口等功能 大家看例子就懂了 下面是效果图: http://www.jm47.com/project/3001.asp ...

  3. 从后台获取的数据渲染到页面中的dom操作

    很多情况下页面dom都是从后台拼接字符串添加生成的新的dom元素,在编辑器中不能看到,只能通过检查看到页面的dom结构,但是这时候会发生一个问题,就是如果使用jQuery无法进行dom操作,事件和方法 ...

  4. 从钉钉后台获取考勤数据(其他数据获取类似)

    从钉钉后台获取考勤数据等 下载钉钉的SDK包 从开发者后台获取AppKey和AppSecret 上代码: # -*- coding: utf-8 -*- import requests, loggin ...

  5. 使用OpenLayers根据经纬度对地图进行单个标点,以及点击标点弹框的实现(没有从后台获取经纬度数据)

    说明:OpenLayers 3详细官方API文档:http://develop.smaryun.com:81/API/JS/OL3InterfaceDemo/index.htm 1.该例子为页面在固定 ...

  6. 2021-12-11 vue移动端卖座电影项目(十一) comingSoon用后台获取的数据写样式,以及用vuex的Action处理异步问题:切换FilmHeader中的两个标签时直接缓存数据

    文章目录 0.vuex工作流程图复习 1.思路 2.axios获取后台数据(仿nowPlaying页即可) 3.用vuex的Action处理异步问题:切换FilmHeader中的"正在热映& ...

  7. vue从后台获取新数据后刷新_vue项目中实现定时刷新页面(重新渲染数据实时更新)...

    需求: 每隔一分钟自动刷新一下当前页面,同时发送请求,重新渲染数据,以到达实时更新. 开始: js有两种定时器 setInterval(function(){}, milliseconds)--会不停 ...

  8. vue从后台获取新数据后刷新_vue传参页面刷新数据丢失问题

    在做vue的时候,经常会遇到组件之间数据的传递问题,通过params或者query传参,但是,当页面刷新的时候,数据会丢失,找不到数据.今天经过总结,解决了这个问题.通过了一下几种情况进行传值: 通过 ...

  9. C#后台获取数据库数据--ADO.NET

    关于获取数据库中的数据到后台,可分为4个步骤:1.获取连接数据库的字符串:2.创建SqlConnection对象用于打开数据库:3.创建SqlCommand对象用于执行操作,设置它的一系列属性即可:4 ...

最新文章

  1. [转][android深入学习]android窗口管理机制
  2. python输出价目表-Python:使用基于事件驱动的SAX解析XML
  3. HDU 4539郑厂长系列故事――排兵布阵(状压DP)
  4. 剑指offer(11-25题)详解
  5. 指令级别解释对象创建过程和DCL为什么要volatile
  6. css如何各种中文字体如雅黑、黑体、宋体、楷体等等
  7. LeetCode 79 Word Search(单词查找)
  8. antd mysql_create-react-app使用antd按需加载的样式无效问题的解决
  9. 苹方字体 for linux,使用macOS苹方替换Windows 10微软雅黑
  10. 步进电机的正反向旋转c语言编程,实现步进电机自动正反转程序怎么写
  11. 至于你信不信,反正我信了
  12. 自建app服务器架构特点
  13. 前端面试题汇总(JavaScript面试纯干货)
  14. linux内核中断实践5:threaded_irq
  15. Kafka(四)- Kafka 生产者
  16. java -Linux 配置
  17. 关于Excel不能多开多个窗口的问题
  18. android11铃声pixel,Android 11 Beta版1发布,谷歌Pixel系列尝鲜,到底是亲儿子
  19. 动态规划 || 威威猫系列故事——篮球梦 (类似背包)
  20. 黑马程序员--写给各位同学,并致黑马各位老师的一封感谢信~~~~绝对给力

热门文章

  1. Win10升级.NET Framework 3.5或2.0遇到错误0x800f081f怎么办
  2. Excel批量把文本型数字转为数字
  3. PHP缓存工具(开源第一个项目)
  4. 软件工程实践的十大法则
  5. 什么时候需要网管型工业交换机
  6. 二维码对移动互联网的意义_阅读材料,完成下列要求。互联网思维,就是在(移动)互联网、大数据、云计算等科技不断发展的背景下,对市场、对用户、对产品、对企业价值链乃至对...
  7. oracle常用数据统计,学习笔记:Oracle DBMS_STATS常用方法汇总 常用于收集统计oracle...
  8. Vue面试题整理汇总
  9. 屏幕录像软件oCam入门实战视频课程-杨璞-专题视频课程
  10. 【数据结构之并查集】并查集详解(零基础入门,超级有趣的!!!)