在浏览器端我们可以直接使用async
但如果是node.js话,各种回调函数和异步执行会导致你的代码看起来很乱,胡乱嵌套等等,这个时候就需要我们的async 它的强大之处就在于这个 auto方法
好了废话不多说了 直接上代码了
var async =require('async');
async.auto({
func1: function(callback) {
console.log('我是函数1',results);
callback(null, '函数1的执行结果!');
},
func2: function(callback) {
console.log('我是函数2',results);
callback(null, '函数2的执行结果!');
},
// 函数1,2谁都不依赖,可以看作顺序执行
//这里的回调第一个参数是result,第二参数才是callback!
func3: ['func1', function(results, callback) {
// results 是函数1执行的结果 换句话说就说 所依赖的那个函数的执行结果
console.log('我是函数3,我依赖函数1,函数1执行完毕只有才能能执行我', results);
callback(null, '函数3的执行结果!');
}],
func4: ['func1','func3', function(results, callback) {
console.log('我是函数4,我要依赖函数1,3,他们执行完毕之后我才会执行',results);
callback(null, "函数4的执行结果!");
}]
}, function(err, results) {
if(err){
console.log(err);
return;
}
// 打印上面的函数执行结果
console.log('results = ', results);
});