要不是被逼到无奈的地步,我也不想弄这么复杂。 那帮做java开发的真不好沟通,本来他们那边处理好了给我一个完整的数据结构就可以了,但是现在我拿到他们给的不完整的数据结构,还需要根据每次解析遍历的值去额外请求数据,如果直接发起异步请求,代码写的又不太优雅;如果发同步请求,服务一直处于等待状态,体验性又不太好。
基于这样的前提,我就想到了用队列来实现,算是稍微优雅一点吧
Js代码部分:
// 定义函数执行队列 var aFun = []; $(function(){ $("input[name='test']").click(function(){ begin_queue(); $(document).queue("testQueue", aFun); $(document).dequeue("testQueue"); }); }); //初始化队列 function begin_queue() { var obj = $("input[type='hidden']"); obj.each(function(i){ var $this = $(this), $val = $this.val(); var queue_fun = function(){ callback($this, $val); }; //压入函数队列 aFun.push(queue_fun); }); } //每次遍历回调处理 function callback(elm, data) { var str = $("#queue").html() + elm.attr("no") + ":" + data * data + "<br>"; $("#queue").html(str); //继续执行队列中下一个函数 $(document).dequeue("testQueue"); }
HTML结构部分:
<div id="queue"></div> <input type="hidden" class="required" name="star.key" no="1" value="1" /> <input type="hidden" class="required" name="star.key" no="2" value="2" /> <input type="hidden" class="required" name="star.key" no="3" value="3" /> <input type="hidden" class="required" name="star.key" no="4" value="4" /> <input type="hidden" class="required" name="star.key" no="5" value="5" /> <input type="hidden" class="required" name="star.key" no="6" value="6" /> <input name="test" type="button" value="Start" />
运行效果:
相关推荐
主要介绍了jQuery中queue()方法用法,实例分析了queue()方法的功能、定义及使用技巧,非常具有实用价值,需要的朋友可以参考下
本文实例讲述了JQuery中queue方法用法。分享给大家供大家参考,具体如下: jquery的queue方法 显示或操作在匹配元素上执行的函数队列 意思就是对匹配上的元素,显示作用在这个元素上的函数的个数,也就是上述所说的...
是一个快速的开源消息组件(框架),支持集群,同等网络,自动检测,TCP,SSL,广播,持久化,XA,和J2EE1.4容器无缝结合,并且支持轻量级容器和大多数跨语言客户端上的Java虚拟机。消息异步接受,减少软件多系统集成...
// // //C#中队列Queue与线程的应用 // // static void Main(string[] args) { DocumentManager mg = new DocumentManager(); ProcessDocuments prcess = new ProcessDocuments(mg);
NULL 博文链接:https://nuysoft.iteye.com/blog/1189156
基于RabbitMQ的工作队列实现,包括消息确认机制、消息持久化机制、消息的公平调度等。
jQuery中队列queue()函数的实例教程_.docx
对于一个元素上执行animate方法加动画,jQuery内部也会将其加入名为 fx 的函数队列。而对于多个元素要依次执行动画,则必须我们手动设置队列进行了。 一个例子,要两个div依次向左移动: 代码如下:<div id=”b
主要介绍了jQuery中队列queue()函数的实例教程,queue()函数为JavaScript函数的执行顺序控制操作提供了便利,需要的朋友可以参考下
activemq的queue队列模式的maven,spring的demo
前端项目-jquery-ajaxQueue,A simple queue for ajax requests
主要介绍了C#队列Queue多线程用法,实例分析了队列的相关使用技巧,需要的朋友可以参考下
C语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言头文件 QUEUE.HC语言...
这个 Python Demo 演示了如何结合 queue 模块和 tkinter 库来创建一个能够即时更新显示时间的图形用户界面(GUI)。通过 queue 队列,我们可以将更新 GUI 的任务安全地传递给主线程,从而避免因为直接在子线程中更新...
主要介绍了Python进程间通信Queue实例解析,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
1. 创建多 Task,为每个Task 创建私有的Message Queue,每个Task 只通过自己的私有Message Queue 接收消息;Task 间消息通信通过向对方私有Message Queue 发送消息完 成。 2. Task1:管理Task。负责系统启动时同步...
jQuery 3.1 参考手册 jQuery 核心函数 jQuery([sel,[context]]) jQuery(html,[ownerDoc])1.8* jQuery(callback) jQuery.holdReady(hold) jQuery 对象访问 each(callback) size() length selector context...