异步瀑布推送编码

时间:2015-12-16 14:17:44

标签: javascript node.js asynchronous

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

我有以下async.waterfall代码,其中包含三个WasterfallTask​​s序列 在这三个任务中调用依赖的REST API调用。

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 }); });

我的问题是:

  • 我可以从第一个waterfallTask​​函数中带来任何参数吗? 调用最终的async.waterfall调用进行渲染(就像我的方式一样) 评论//)。有可能吗?

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

谢谢

0 个答案:

没有答案