javascript - node.js 异步 waterfall 调用以前的方法

标签 javascript node.js asynchronous

无论如何我们可以从下面的方法调用 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/

相关文章:

node.js - socketio 和 nodejs,错误 404/socket.io/socket.io.js

c# - 等待 TaskEx.Delay

JavaScript 异步函数

javascript - 如何从 jQuery 中通过 $.when 解析的多个 Promise 对象中检索数据?

javascript - 单击菜单项时单击单独的链接

javascript - Arshaw fullcalendar 在月 View 的每个单元格中添加自定义 html

node.js - NodeJS PUT 请求返回错误 400(错误请求)

javascript - 三.js导入模型抗锯齿

javascript - 使用 html 和 css 的背景颜色

javascript - 从返回的 promise 中设置成员变量