用nodejs实现逻辑复杂的功能时,为了避免多层回调嵌套的坑,选用了async.auto方法,我直接拿了网上的一段代码进行调试,在调试的过程中,出现了一个问题:callback is not a function,我自己定义了callback函数,也不行。听说async.auto很强大,所以很想用这个方法重构我的代码。希望各位高手能够帮我找到出错的原因,谢谢!测试代码如下: var async = require(‘async’);
var funclist = { func1: function (callback, results) { console.log(‘func1执行,传入值{name:123}’) callback(null, {name:‘123’}); }, func2: function (callback, results) { console.log(‘func2执行,传入值 { “puncha”: “during” }’) //console.log(results); callback(null, { “puncha”: “during” });
},
func3: ["func2", function (callback, results) {
console.log('func3在func2执行后执行,传入值 3')
// console.log(results);
callback(null, 3);
}],
func4: ["func3", function (callback, results) {
console.log('func4在func3执行后执行,总体执行结果为:')
console.log(results);
callback(null,1);
}]
}; //function callback(str){console.log(str);} async.auto(funclist);
![R0E1U(UBD@~9ZSRUHOV]2PQ.jpg](//dn-cnode.qbox.me/FnSdE_c9YIxvd8mKmrpSkjYlhzbX)