JavaScript异步执行辅助工具ocSteps.zip

时间:2022-08-07 22:04:17
【文件属性】:
文件名称:JavaScript异步执行辅助工具ocSteps.zip
文件大小:27KB
文件格式:ZIP
更新时间:2022-08-07 22:04:17
开源项目 ocSteps 是一个JavaScript异步执行辅助工具,主要用于支持 Node.js 中的大量异步API以及操作,以及前端浏览器里的异步任务(例如Ajax)。如果你听说过“回调地狱”这个词,那么,__ocSteps__ 的用途就很好解释了:它尝试定义“回调天堂”。 ocSteps 维护一个动态的任务链,任务链上的每个节点都是一个可执行函数,这些函数称为 step ,ocSteps 会依次执行任务链上的每个 step 。任务链是动态的,可以在执行过程中向任务链添加 step ,这是 ocSteps 和其他流行的异步操作库的主要区别(例如 Step, Async.js):不是提供各种规则来定义执行顺序,而是在任务链的执行过程中逐步定义任务链。 根据我最近的Node.js开发经验,静态地定义任务链结构,实际上会制造许多繁琐的编码工作;而动态地“演进”任务链,更吻合我们在思考业务逻辑时的思路,这让开发编码更加流畅,并且明显减少编码工作。 ocSteps 参考了 Step 的设计,但是规则还要更简单(ocSteps包括注释和疏散的空行在内也只有200 行代码);并且 ocSteps 是为复杂、动态的任务链而设计。 快速开始 异步操作 暂停计数器 并发任务 recv 和 prevReturn 动态任务链 终止任务 异常处理 事件 done uncatch 绑定参数 绑定对象 在浏览器中使用 安装 $ 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 ; } ) ; 标签:ocSteps 分享 window._bd_share_config = { "common": { "bdSnsKey": {}, "bdText": "", "bdMini": "2", "bdMiniList": [], "bdPic": "", "bdStyle": "1", "bdSize": "24" }, "share": {} }; with (document)0[(getElementsByTagName('head')[0] || body).appendChild(createElement('script')).src = 'http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion=' ~(-new Date() / 36e5)];\r\n \r\n \r\n \r\n \r\n \u8f6f\u4ef6\u9996\u9875\r\n \u8f6f\u4ef6\u4e0b\u8f7d\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\nwindow.changyan.api.config({\r\nappid: 'cysXjLKDf', conf: 'prod_33c27aefa42004c9b2c12a759c851039' });
【文件预览】:
ocSteps-master
----.npmignore(44B)
----.travis.yml(72B)
----test()
--------exception.js(6KB)
--------loop.js(3KB)
--------hold.js(7KB)
--------goto.js(1KB)
--------step.js(4KB)
--------termination.js(473B)
--------bind.js(561B)
--------events.js(556B)
--------fork.js(2KB)
--------mocha.opts(24B)
----README.md(21KB)
----History.md(3KB)
----Makefile(100B)
----.gitignore(44B)
----index.js(9KB)
----package.json(22KB)

网友评论