Javascript 异步瀑布推送编码

Javascript 异步瀑布推送编码,javascript,node.js,asynchronous,Javascript,Node.js,Asynchronous,我是Node.JS编程新手。任何关于我下面问题的想法,都会有很大的帮助 我有以下async.瀑布代码,其中包含三个WasterFallTask的序列 在这三个任务中调用依赖的RESTAPI调用 router.get('/:inputId', function(req, res, next) { var inputId = req.params.inputId; var waterfallTasks = []; waterfallTasks.push(function(callback) {

我是Node.JS编程新手。任何关于我下面问题的想法,都会有很大的帮助

我有以下async.瀑布代码,其中包含三个WasterFallTask的序列 在这三个任务中调用依赖的RESTAPI调用

router.get('/:inputId', function(req, res, next) {
var inputId = req.params.inputId;
var waterfallTasks = [];
waterfallTasks.push(function(callback) {
    request(req, "/admin/id/" + inputId, function(error, results) {
        var result = {};
        result.grpInfo = results;
    //result.params = results.params;
        callback(error, result);
    });
});
waterfallTasks.push(function(result1, callback) 
var userID = result1.grpInfo.x.userID[1];
        request(req, userID, "/con/metrix/", function(error,results){
       result1.error=error;
       result1.metrix=results;
       callback(null,result1);
waterfallTasks.push(function(result2,callback)
       request(req, "/xx/xy/", function(error, results){
       callback(error,result3);
     }); }); 
async.waterfall(waterfallTasks, function(error, results){
     if(!error) {
        res.render('TestDetails',{
            'properties' : results.properties,
         // 'params': "result.params,
              'error': results.error }); });
我的问题是:

  • 我可以从第一个WaterWallTask函数中获取任何参数吗 调用最终的async.瀑布调用进行渲染(如 注释为//)。可能吗

  • 如果我必须从不同的API添加其他属性(JSON) 再加上这个异步函数,最好的方法是什么?喜欢 我可以在“result2”函数中调用该API并传递它吗


谢谢

请格式化您的代码。你缺少了花括号,看起来你的第三个任务是从第二个任务中添加的,这可能不是你想要做的。@Jim,如果我理解正确的话,你自己已经回答了第一部分。result.params=results.params是将其传递给第二个函数的最简单方法。您可以在result1.params中访问它们。至于你问题的第二部分,你可以在瀑布函数中做任何事情。只要你在完成之后做回调。另外,请格式化您的代码。很难理解你的代码。是的,请格式化这个,然后我来看看ti。我可以在最后放置回调时使用async.mapSeries修复这个问题。谢谢你的评论和帮助。请格式化你的代码。你缺少了花括号,看起来你的第三个任务是从第二个任务中添加的,这可能不是你想要做的。@Jim,如果我理解正确的话,你自己已经回答了第一部分。result.params=results.params是将其传递给第二个函数的最简单方法。您可以在result1.params中访问它们。至于你问题的第二部分,你可以在瀑布函数中做任何事情。只要你在完成之后做回调。另外,请格式化您的代码。很难理解你的代码。是的,请格式化这个,然后我来看看ti。我可以在最后放置回调时使用async.mapSeries修复这个问题。谢谢你的评论和帮助。