异步编程 互动版

auto(tasks, [callback]);


用来处理有依赖关系的多个任务的执行。示例如下:

async.auto({
    getData: function(callback){
        callback(null, 'data', 'converted to array');
    },
    makeFolder: function(callback){        
        callback(null, 'folder');
    },
    writeFile: ['getData', 'makeFolder', function(callback, results){        
        callback(null, 'filename');
    }],
    emailLink: ['writeFile', function(callback, results){
        callback(null, {'file':results.writeFile, 'email':'user@example.com'});
    }]
}, function(err, results) {
    console.log('err = ', err);
    console.log('results = ', results);
});

示例中writeFile依赖getData和makeFolder,emailLink依赖writeFile。

执行示例代码,将所有的results输出到控制台,观察输出顺序和内容。