我使用异步瀑布模型按顺序执行函数。但是,在每个函数中,它不会串行执行语句。例如下面
var serviceconfig = loadCsv();
callback(null, serviceconfig);
我希望回调仅在loadCsv()函数返回值时执行,但看起来它会继续执行
apiRoutes.get('/api/:service/:subject', function(req, res) {
async.waterfall([
function(callback){
var serviceconfig = loadCsv();
callback(null, serviceconfig);
},
function(serviceconfig, callback){
console.log("serviceconfig final: " + serviceconfig);
callback(null, 'd');
},
function(argd, callback){
}], function (err, result) {
}
)
});
答案 0 :(得分:1)
如果有可能,您可以将回调发送到loadCsv,并让它处理它。
var serviceconfig = loadCsv(callback);
然后在loadCsv中:
function loadCsv(callback) {
// code
callback(null, result);
}