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的下一任务