大家好,本人年关无聊写了个控制同步/异步流的程序,名叫sas.js。S代表sync,AS代表async。可以递归,因此callback有多少层都不害怕。现已发布到npm上 npm install sas 。
用法很简单,大家只要记住:数组代表同步,对象代表异步。
废话不多说,上示例:
nodejs全部用异步方法 mkdir 创建目录树。
先创建一个根目录,再在根目录下创建三子目录,再在三子目录下各创建三子目录。
var sas = require('sas');
var fs = require('fs');
var mktree = function(path) {
  return function(cb, ext) {
    if (ext.Sparent) {
      path = ext.Sparent[0] + path;
    }
    fs.mkdir(path, 777, function(err, result) {
      if (err) {
        return cb('$STOP');
      }
      cb(path);
    });
  }
}
var plan = [
    mktree(__dirname + '/root' + Date.now()), {
        '1': [mktree('/1'), {
            '1-1': mktree('/1-1'),
            '1-2': mktree('/1-2'),
            '1-3': mktree('/1-3')
        }],
        '2': [mktree('/2'), {
            '2-1': mktree('/2-1'),
            '2-2': mktree('/2-2'),
            '2-3': mktree('/2-3')
        }],
        '3': [mktree('/3'), {
            '3-1': mktree('/3-1'),
            '3-2': mktree('/3-2'),
            '3-3': mktree('/3-3')
        }]
    }
];
sas(plan,{debug:true});
console强大的追踪:

更多详情(实在手懒)请访问项目地址: github 欢迎大牛指点!
 
       
       
    