Skip to content

lovetingyuan/ty-step

Repository files navigation

ty-step

travis-ci Version Dependencies License

简单的异步流程控制,可以以并行或串行的方式执行给定的函数序列,支持参数传递和错误捕获

Inspired by step and gulp-sequence


Install

npm install ty-step or <script src="index.min.js"></script>

Usage

var step = require('ty-step') // or window.step for browsers
var af = function (time) {
  return function (next, payload) {
    setTimeout(function () {
      next(null, time)
    }, time)
  }
}
var task = step(af(200), af(100), [af(150), af(80), af(250)], af(400), af(50))
task(function (err, payload) {
  if (err)
    console.error(err)
  else
    console.log(payload) // payload = [200, 100, [80, 150, 250], 400, 50]
})

step接收一系列的函数或者由函数组成的数组作为参数,这些函数代表要执行的任务,接收nextpayload作为参数。next在任务结束时调用,传入的参数为errordataerror代表上一个函数是否发生了错误,若不为null则表示发生了错误,会中断执行后续函数,data表示上一个函数中next传递的结果。step返回一个thunk函数,传递的callback表示对最终结果的处理,同样接收errordata作为参数

License

MIT

Releases

No releases published

Packages

No packages published