javascript - async.waterfall 模型中传递的数据不起作用?

标签 javascript node.js swagger-node-express

我想将数据1和数据2直接传递给最后一个函数。 当我将数据 1 传递到第二个函数并从那里将数据 1 + 数据 2 传递到最后一个函数时,它正在工作。但问题是我不想将数据 1 传递给第二个函数。我们可以使用 'asyc.series''async.parallel' 来实现吗?

 var fs = require("fs");
    var async = require('async');
    async.waterfall([
        myFirstFunction,
        mySecondFunction,            

    ], function (err,data1,data2) {
        var values={'data1':data1,'data2':data2,'msg':"hai"}
       console.log("values: %j", values);
    });
    function myFirstFunction(callback) {
          fs.readFile('file1.js','utf8',function(err,data1){
          callback(null,data1);
           });
    }
    function mySecondFunction(callback) {
         fs.readFile('file2.js','utf8',function(err,data2){
          callback(null,data2);
          });
    }

最佳答案

你应该用async.parallel来做到这一点

var fs = require("fs");
var async = require('async');
async.parallel([
    myFirstFunction,
    mySecondFunction,            

], function (err, results) {
    if(err) console.error(err);
    var data1 = results[0];
    var data1 = results[1];
});

function myFirstFunction(callback) {
    fs.readFile('file1.js','utf8',function(err,data1){
        callback(null,data1);
    });
}

function mySecondFunction(callback) {
    fs.readFile('file2.js','utf8',function(err,data2){
        callback(null,data2);
    });
}

关于javascript - async.waterfall 模型中传递的数据不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37610760/

相关文章:

javascript - 无法从 Meteor Js 中的 Mongodb 数据库中删除项目

javascript - React 门户弹出窗口变量

Node.js 在 child_process.fork 上调用函数

node.js - 如何在 Sequelize 的地方使用动态过滤器?

swagger-ui - 规范中未定义任何操作! -即使设置了摇摇晃晃并定义了终点,我仍然收到此错误

javascript - pdfmake 得到错误的页面位置大小

javascript - 未捕获的类型错误 : Object #<HTMLLIElement> has no method 'has'

node.js - NodeJS 中的 Gmail 身份验证

javascript - 双socketIO事件错误

restful-url - 我如何开始使用swagger-ui