GoWithTheFlow
GoWithTheFlow
http://notes.jetienne.com/2011/07/17/gowiththeflow.js-async-flow-control-with-a-zen-touch.html
https://github.com/jeromeetienne/gowiththeflow.js
GoWithTheFlow.js是一个异步的流控制库,可运行在node.js和浏览器中。它可以控制如何执行异步的代码,可以让它们异步或者同步执行,这个库很小,才30多行。
如何使用它
有2块代码需要顺序执行。第一块代码中含有timeout(),这个函数是异步的。所以输出的结果并不是完全顺序的。有了GoWithTheFlow.js可以使第二块代码在第一块代码完全执行之后再执行。Demo
GoWithTheFlow只有两个方法,seq()就是使function顺序的执行,par()则是同步执行。
seq()中的回调函数只有在所有先前的工作就执行完毕才会执行,回调函数的基本格式是callback(next,error,result) error和result是可以省去的 next是一个函数
- next(error,result) 调用next就是执行下一块代码
- error是前一块代码产生的错误
- result是前一块代码传来的信息
总的来说,就是将需要顺序执行的代码块放在seq中,在代码块结束的位置写上next() 就会顺序执行,而next()就是调用flow的下一任务
GoWithTheFlow的更多相关文章
- 异步流程控制库GoWithTheFlow
异步流程控制库GoWithTheFlow 一个尾触发方式来控制异步流程的库, 有seq(顺序执行) par(同步执行) 两种方法 博客 http://notes.jetienne.com/2011/0 ...
随机推荐
- xcode - 移动手势
#import "ViewController.h" @interface ViewController () /** 创建一个UIView */ @property(nonato ...
- log4j 详解
转载自:http://www.blogjava.net/hwpok/archive/2008/08/23/223891.html >>>>1. 概述<<< ...
- pushViewController自定义动画
实现的主要代码如下: CATransition *transition = [CATransition animation]; transition.duration = 1.0f; transiti ...
- C++链接库
静态链接库在程序编译链接过程中就导入lib文件并且包含在生成的exe文件里,而动态链接库DLL是在程序运行中由程序加载和卸载的,也就是说它是动态的,当然动态链接库DLL也可以静态加载当做静态来用: 静 ...
- wp8.1开发系列之安装包URI方案
应用文件使用"ms-appdata:///"开头的URI地址,安装包使用的是"ms-appx:///"开头的URI地址. 比如:读取安装包Image文件夹下的t ...
- BZOJ 1832: [AHOI2008]聚会( LCA )
LCA模板题...不难发现一定是在某2个人的LCA处集合是最优的, 然后就3个LCA取个最小值就OK了. 距离就用深度去减一减就可以了. 时间复杂度O(N+MlogN) (树链剖分) -------- ...
- BZOJ 3231: [Sdoi2008]递归数列( 矩阵快速幂 )
矩阵乘法裸题..差分一下然后用矩阵乘法+快速幂就可以了. ----------------------------------------------------------------------- ...
- Spring学习之常用注解(转)
使用注解来构造IoC容器 用注解来向Spring容器注册Bean.需要在applicationContext.xml中注册<context:component-scan base-package ...
- Java中的流程控制(一)
程序的流程控制(一) 关于Java程序的流程控制(一) 从结构化程序设计角度出发,程序有三种结构: 顺序结构 选择结构 循环结构 1.顺序结构 就是程序从上到下一行行执行,中间没有判断和跳转. 2.i ...
- python学习【一】基础入门
Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC ...