看到一篇文章讲async的auto 方法,https://www.cnblogs.com/z-yue/p/async.html
结果试验几次出错,原来应该这样写,当后面是数组的时候,要第一个是results,第二个才是callback
async.auto({
get_data: function(callback) {
console.log('in get_data');
callback(null, 'data', 'converted to array');
},
make_folder: function(callback) {
console.log('in make_folder');
callback(null, 'folder');
},
//这里的回调第一个参数是result,第二参数才是callback!
write_file: ['get_data', 'make_folder', function(results, callback) {
console.log('in write_file', JSON.stringify(results));
callback(null, 'filename');
}],
email_link: ['write_file', function(results, callback) {
console.log('in email_link', JSON.stringify(results));
callback(null, {'file':results.write_file, 'email':'user@example.com'});
}]
}, function(err, results) {
console.log('err = ', err);
console.log('results = ', results);
});