ocSteps - JavaScript异步执行辅助工具


MIT
跨平台
JavaScript

软件简介

ocSteps 是一个JavaScript异步执行辅助工具,主要用于支持 Node.js
中的大量异步API以及操作,以及前端浏览器里的异步任务(例如Ajax)。如果你听说过“回调地狱”这个词,那么,ocSteps
的用途就很好解释了:它尝试定义“回调天堂”。

ocSteps 维护一个动态的任务链,任务链上的每个节点都是一个可执行函数,这些函数称为 step ,ocSteps 会依次执行任务链上的每个
step 。任务链是动态的,可以在执行过程中向任务链添加 step ,这是 ocSteps 和其他流行的异步操作库的主要区别(例如
Step,
Async.js):不是提供各种规则来定义执行顺序,而是在任务链的执行过程中逐步定义任务链。

根据我最近的Node.js开发经验,静态地定义任务链结构,实际上会制造许多繁琐的编码工作;而动态地“演进”任务链,更吻合我们在思考业务逻辑时的思路,这让开发编码更加流畅,并且明显减少编码工作。

ocSteps 参考了 Step
的设计,但是规则还要更简单(ocSteps包括注释和疏散的空行在内也只有200+行代码);并且 ocSteps 是为复杂、动态的任务链而设计。

安装

$ npm i ocsteps

测试

$ npm i -d
$ make test

快速开始

var Steps = require("ocsteps") ; // 和 Step 的用法很像 Steps( // 前一个函数的 return, 作为下一个函数的参数 function(){ var i = 1 ; console.log('step ',i) ; return ++i ; } , function(i){ console.log('step ',i) ; return ++i ; } , function(i){ console.log('step ',i) ; return ++i ; } ) ;

输出的结果是:

step 1
step 2
step 3