Javascript 异步瀑布推送编码
我是Node.JS编程新手。任何关于我下面问题的想法,都会有很大的帮助 我有以下async.瀑布代码,其中包含三个WasterFallTask的序列 在这三个任务中调用依赖的RESTAPI调用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) {
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修复这个问题。谢谢你的评论和帮助。