无论如何我们可以从下面的方法调用 async.waterfall 中的上一个方法。
async.waterfall([
function (callback) {
},
function (reservationStatus, callback) {
},
function (reservationStatusList, frontOfficeStatusList, callback) {
callToPreviosFunction();
}
], function (err, result) {
res.json(result);
});
最佳答案
是的我们可以在async.waterfall中调用之前的函数。 请看下面修改后的代码。
var async = require('async');
async.waterfall([
a,b,c
], function (err, result) {
console.log(err);
console.log(result);
});
function a(callback) {
console.log("function 1");
callback(null,"true");
};
function b(reservationStatus, callback) {
console.log("function 2");
callback(null,"true","true");
};
function c(reservationStatusList, frontOfficeStatusList, callback) {
console.log("function 3");
b("confirmed",function(err,result){
if(err){
callback(err,null);
}else{
callback(null,result);
}
});
};
正如您在上面看到的,b() 的修改代码在 c() 中再次被调用。
输出:
function 1
function 2
function 3
function 2
关于javascript - node.js 异步 waterfall 调用以前的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40280403/