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 ...
随机推荐
- Nodejs解析HTML网页模块 jsdom
工作需要抓取某些网页,所以今天试用下了node下的jsdom模块.同样功能的还有jquery jsdom https://npmjs.org/package/jsdom API很简单. jsdom.e ...
- 权威指南学习心得-浏览器中的js
window对象:表示web了浏览器的一个窗口或窗体(winow属性引用自身) 含有以下属性:location包含Location对象,指定当前显示在窗口中URL,允许脚本往窗口里载入新的URL 含有 ...
- MATLAB中求矩阵非零元的坐标
MATLAB中求矩阵非零元的坐标: 方法1: index=find(a); [i,j]=ind2sub(size(a),index); disp([i,j]) 方法2: [i,j]=find(a> ...
- .aspx.cs传值与取值
1:.aspx中post传值 $.post("ABP_ExchangeRatelz.aspx", { option: "isdelete", Ori_Curre ...
- webpack和webpack-dev-server的区别
第一: webpack只是构建 webpack-dev-server除了构建,还提供web服务 第二:webpack.config.json的路径参数 显然,entry都一样,因为都要知道需要构建 ...
- SSH框架的简化
---恢复内容开始--- 一.简易化的SSH框架,如图: SSH框架的搭建,我就不多说了. 二.简易的ssh框架的步骤: 1.重新编写applicationContext.xmlwen文件 <一 ...
- HOJ1087
Self Numbers My Tags (Edit) Source : ACM ICPC Mid-Central USA 1998 Time limit : 5 sec Memory ...
- nginx install lua module
#install luajit #http://luajit.org/download.html .tar.gz cd LuaJIT- make install PREFIX=/home/allen. ...
- 这两天写的mybatis配置文件,主要是有输出和输入的存储过程
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-/ ...
- MarkDown使用 (三)表格
MarkDown表格的用法 MarkDown表格的用法 例如: $$ \begin{array}{c|lcr} n & \text{Left} & \text{Center} & ...