waterfall实现

 1 function TaskRun(tasks,done)
 2 {
 3     var task_index=0;
 4     done=done||((err)=>{
 5         err&&console.log(err);
 6     });
 7     function next()    {
 8         if(task_index==tasks.length) {return done(null);}
 9         var args=[].slice.call(arguments);
10         args.push(next);
11         try{
12             tasks[task_index++].apply(this,args);
13         }catch(ex){
14             return done(ex);
15         }
16     }
17     next(); 
18 }
19
20 TaskRun([function(next){
21     setTimeout(function(){
22         console.log("one");
23          next(1);
24      }, 10);
25
26 },function(num1,next){
27     console.log("two");
28     console.log(num1);
29     throw new Error("sfdsf");
30     setTimeout(function(){
31         console.log("last");
32          next(3,4);
33      }, 10);
34 },function(num1,num2,next){
35     console.log("5");
36     console.log(num1);
37     console.log(num2);
38 }])
时间: 2024-09-30 19:46:06

waterfall实现的相关文章

jQuery瀑布流插件——jQuery.Waterfall

插件--jQuery.Waterfall 思路: 其实只要了解了整个流程,要实现这个插件也不难,大家都玩过俄罗斯方块吧,原理差不多,找到合适的地方叠上去就好了,在这里,每个块的宽度是必需给定的,然后计算出列数,再维护一个数组,存储每列的高度,往最小高度的列添加块即可.滚动时,当最小高度出现在可视窗口时就启动ajax从服务器拉取更多的数据. 注意的地方: 如果瀑布流的块中包含图片,则需要事先知道图片的高度(其实就是为了要计算出整个块的高度,以便精确定位),图片的高度可以从服务器返回,本插件是整合p

三级联动下拉插件waterfall封装, 效果很棒360兼容模式极速模式完美运行兼容IE,Firefox等主流浏览器^

项目中很多地方用到了三级联动就封装了一个适合自己公司的js插件, 虽然写的不太好还是想跟亲们分享下, 多多交流多多指点^_^; 1.效果: 目录结构: 1.源码: jquery.waterfall-1.0.2.js /** *@Author: YingYueZhou *@Date: 2015/07/15 *@Params: object */ ;(function($){ $.fn.waterfall = function(options){ options = $.extend({ nodes

async源码学习 - waterfall函数的使用及原理实现

waterfall函数会连续执行数组中的函数,每次通过数组下一个函数的结果.然而,数组任务中的任意一个函数结果传递失败,那么该函数的下一个函数将不会执行,并且主回调函数立马把错误作为参数执行. 以上是我翻译的,我都不知道翻译的什么鬼. 其实该函数的作用就是: 上一个异步函数返回结果可以传给下一个异步函数,如果传递过程中,第一个参数出错了也就是真值的话,下一个回调函数将会停止调用,并且直接调用waterfall函数的第二个参数,其实也是个回调函数.并且把错误的参数传过去. 先看看官网的demo:

async.waterfall

[async.waterfall] if any of the tasks pass an error to their own callback, the next function is not executed, and the main callback is immediately called with the error. async.waterfall([ function(callback) { callback(null, 'one', 'two'); }, function

jQuery Waterfall插件的使用-瀑布流图片显示

最近做一个项目需要用到jQuery Waterfall插件-瀑布流图片显示 jquery waterfall plugin,like Pinterest . huaban.com . faxianla.com 下载地址: waterfall plugin 如何使用 第一步: 添加html代码 <div id="container"></div> 第二步: 引入需要的js <script src="/path/jquery.min.js"

waterfall.js

jq-waterfall是一款仿Pinterest网站的响应式无限动态加载图片瀑布流特效jQuery插件.该瀑布流特效使用ajax调用来动态加载图片,达到无限加载的效果.它使用简单,兼容性好,值得推荐! 使用方法 使用这个瀑布流插件需要引入jQuery和jquery.waterfall.js文件. <script src="js/jquery-1.11.1.min.js"></script> <script src="js/jquery.wate

Chrome的Waterfall

参考:https://developers.google.com/web/tools/chrome-devtools/network-performance/reference#timing 浏览器根据html中外连资源出现的顺序,依次放入队列(Queue),然后根据优先级确定向服务器获取资源的顺序.同优先级的资源根据html中出现的先后顺序来向服务器获取资源 Queueing. 出现下面的情况时,浏览器会把当前请求放入队列中进行排队 有更高优先级的请求时. 和目标服务器已经建立了6个TCP连接

(转+原)ipp &quot;No dlls were found in the Waterfall procedure&quot;

转自: http://blog.csdn.net/hua_007/article/details/9112909 1,吧 dll的目录放到系统环境变量中 intel 的官方推荐.验证是ok的. --------------------------------------------------------------------------------------- 2,Using static linking makes it work. 某个牛人的方案,没有验证. ps:本人试了第二种方法,

10招让你成为杰出的Java程序员(转)

如果你是一个热衷于技术的 Java 程序员, 那么下面的 10 个要点可以让你在众多 Java 开发人员中脱颖而出. 1. 拥有扎实的基础和深刻理解 OO 原则 对于 Java 程序员,深刻理解 Object Oriented Programming(面向对象编程)这一概念是必须的.没有 OOPS 的坚实基础,就领会不了像 Java 这些面向对象编程语言的美.光学习 OO 原则的定义用处不大,关键是要学会如何应用这些原则用一种 OO 的方式去设计解决方案.因此,我们应该对对象建模.继承.多态.设